Unicon05-129140

Page 1

Unicon  129

     การพั ฒนาโปรแกรมภาษา C/C++ ดวย Arduino สําหรับบอร ด Unicon ดําเนินการภายใตการ สนับสนุนของไฟลไลบรารีหลักทีทาง ่ Arduino จัดเตรียมให ผนวกเขากับไฟลไลบรารีทีพั่ ฒนาขึนมาเป ้ นเฉพาะ สําหรับบอรด Unicon นันคื ่ อไฟล unicon.h ทั้งนี้ เพื่อชวยลดความซับซอนในการเขียนโปรแกรมควบคุมลง

   Arduino 1.0 ไดบรรจุไฟลไลบรารีที่ชวยใหการเขียนโปรแกรมภาษา C/C++ เพื่อใชงานไมโคร คอนโทรลเลอรทําไดงายขึน้ รวมถึงผูเริ่มตนใหมก็สามารถเรียนรูเพื่อใชงานไมโครคอนโทรลเลอรได โดยไม จําเปนตองศึกษาเพื่อลงลึกในรายละเอียดของสถาปตยกรรมของไมโครคอนโทรลเลอร ไฟลไลบรารีที่สําคัญและใชงานกับบอรด Unicon ได ประกอบดวย  EEPROM บรรจุฟงกชันและคํ ่ าสั่งสําหรับติดตอกับหนวยความจําขอมูลอีอีพรอมภายในตัวไมโคร คอนโทรลเลอร เมื่อตองการใชงานตองผนวกไฟลไลบรารีไวในตอนตนของโปรแกรมดวยคําสั่ง #include <EEPROM.h>

บรรจุฟงกชั่นและคําสั่งสําหรับติดตอกับโมดูล LCD แบบอักขระเพื่อ แสดงผลขอความและตัวเลข รองรับทังการติ ้ ดตอแบบ 4 บิตและ 8 บิต ใชงานไดกับโมดูล LCD 8, 16 และ 20 ตัวอักษร 1, 2 และ 4 บรรทัด เมือต ่ องการใชงานตองผนวกไฟลไลบรารีไวในตอนตนของโปรแกรมดวยคําสัง่ 

LiquidCrystal

#include <LiquidCrystal.h>

บรรจุฟงกชั่นและคําสั่งสําหรับขับเซอรโวมอเตอร ตองทํางานรวมกับเซอรโวมอเตอร และตองใช ไฟเลี้ยงแยกสําหรับเซอรโวมอเตอร เมื่อตองการใชงานตองผนวกไฟลไลบรารีไวในตอนตนของ โปรแกรมดวยคําสัง่ 

servo

#include <servo.h>

บรรจุฟงกชั่นและคําสั่งสําหรับใชงานขาพอรตของ Arduino และ Unicon ในการสื่อสารขอมูลอนุกรม ไลบรารีจะถูกนํามาใชงานเมื่อขาเชื่อมตอพอรตอนุกรมหลัก (RxD และ TxD) ของทั้ง Arduino และ Unicon ถูกใชงานไปแลว และมีความตองการติดตออุปกรณที่ตองใชการสื่อสารขอมูล อนุกรม การใชงานไลบรารีนีจะช ้ วยใหผูใชงานสามารถใชขาพอรตของ Arduino หรือ Unicon ขาอืนที ่ ว่ างมา ทําหนาทีเป ่ นขาพอรตสําหรับสือสารข ่ อมูลอนุกรม เมือต ่ องการใชงานตองผนวกไฟลไลบรารีไวในตอนตนของ โปรแกรมดวยคําสั่ง  SoftwareSerial

#include <SoftwareSerial.h>


130 

Unicon

 

              

  

 C1 10F

SP1 Piezo

             

  TB6612FNG

                     

M

M

           



   

รูปที่ 5-1 โครงสรางไฟลไลบรารี unicon.h สําหรับพัฒนาโปรแกรมของบอรด Unicon


Unicon  131

บรรจุฟงกชั่นและคําสั่งสําหรับติดตอกับอุปกรณผานบัส SPI (Serial Peripheral Interface) โดยตองใชขาพอรต 14 (MISO), 15 (MOSI), 16 (SCK) และ 17 (SS) ในการติดตอ อุปกรณที่ทํางานผานบัส แบบ SPI ประกอบดวย ไอซีหนวยความจําอีอีพรอมในอนุกรม 93Cxxx, ไอซีแปลงสัญญาณอะนาลอกเปน ดิจิตอล, ไอซีแปลงสัญญาณดิจิตอลเปนอะนาลอก, ไอซีวัดอุณหภูมิ, ไอซีขับ LED ตัวเลข 7 สวน เปนตน เมื่อ ตองการใชงานตองผนวกไฟลไลบรารีไวในตอนตนของโปรแกรมดวยคําสั่ง 

SPI

#include <SPI.h>

บรรจุฟงกชันและคํ ่ าสังสํ ่ าหรับติดตอกับอุปกรณผานบัส I2C โดยตองใชขาพอรต 2 (SDA) และ 3 (SCL) ในการติดตอ อุปกรณทีทํ่ างานผานบัส I2C มีมากมาย อาทิ ไอซีหนวยความจําอีอีพรอมในอนุกรม 24Cxxx, ไอซีแปลงสัญญาณอะนาลอกเปนดิจิตอล, ไอซีแปลงสัญญาณดิจิตอลเปนอะนาลอก, ไอซีวัดอุณหภูมิ, ไอซีขยาย พอรตอินพุตเอาตพุต, โมดูลวิทยุ FM, ตัวตรวจจับความชืน, ้ ตัวตรวจจับความดันบรรยากาศ, ตัวตรวจจับความเรง แบบ 3 แกน ปนตน เมือต ่ องการใชงานตองผนวกไฟลไลบรารีไวในตอนตนของโปรแกรมดวยคําสัง่  Wire

#include <Wire.h>

 สําหรับฮารดแวร Arduino Leonardo ซึงบอร ่ ด Unicon ก็เปนฮารดแวรแบบหนึงที ่ ่เขากันได ยังมีไลบ รารีพิเศษที่เพิ่มเติมขึ้นมานันคื ่ อ ไลบรารี USB ในการใชงานฟงกชั่นของไลบรารี USB นี้ ไมตองทําการผนวก ไลบรารีเพิ่มเติมแตอยางใด ผูพัฒนาโปรแกรมสามารถเรียกใชงานฟงกชั่นไดเลย ไลบรารี USB มี 2 ไลบรารียอยคือ  Mouse บรรจุฟงกชั่นและคําสั่งเพื่อทําใหฮารดแวร Arduino Leonardo หรือบอรด Unicon ทํางาน เปนเมาส USB  Keyboard บรรจุฟงกชั่นและคําสั่งเพื่อทําใหฮารดแวร Arduino Leonardo หรือบอรด Unicon ทํางานเปนคียบอรด USB

 นอกเหนือไปจากไลบรารีมาตรฐานและไลบรารี USB ที่ทาง Arduino เตรียมมาใหพรอมใชงานแลว ทาง INEX (บริษัท อินโนเวตีฟ เอ็กเพอริเมนต จํากัด) ผูพัฒนาบอรด Unicon ยังไดทําการสรางไฟลไลบรารีที่ ชื่ อ unicon.h เพิ่มเติมขึ้นมา เพื่อชวยอํานวยความสะดวกในการเรียนรู, พัฒนาโปรแกรม และใชงานบอรด Unicon โดยผูสนใจดาวนโหลดไดที่ www.uniconboard.com สําหรับผูที่จัดซือชุ ้ ด Unicon CablePack หรือชุด ทดลองรุนอื  นๆ ่ ของ Unicon ไฟลไลบรารี unicon.h จะไดรับการติดตังไปพร ้ อมกับการติดตังซอฟต ้ แวร Arduino ตังแต ้ แรก โครงสรางของไฟลไลบรารี unicon.h แสดงดังรูปที่ 5-1


132 

Unicon

ในการเรียกใชงานชุดคําสั่งยอยตางๆ เพื่อการพัฒนาโปรแกรมควบคุมสําหรับบอรด Unicon ผูพัฒนา ตองผนวกไฟลไลบรารีหลัก unicon.h ไวในตอนตนของโปรแกรมดวยคําสั่ง #include <unicon.h>

เพื่อประกาศใหใหตัวแปลภาษาหรือคอมไพเลอรรูจักชุดคําสั่งยอยตางๆ ที่กําลังจะถูกเรียกใชงานจาก ไฟลไลบรารี unicon.h ไลบรารียอยของไฟลไลบรารี unicon.h ประกอบดวย  glcd บรรจุฟงกชั่นและคําสั่งสําหรับแสดงผลขอความ, ตัวเลข และสรางภาพกราฟกสีที่จอแสดง ผลแบบกราฟก LCD สีของแผงวงจร GLCD-XT (ยังไมรองรับการทํางานกับไฟลรูปภาพ) ฟงกชันนี ่ มี้ การกําหนด ขาใชงานที่เฉพาะเจาะจง (มีรายละเอียดอธิบายในบทที่ 6)  sleep บรรจุฟงกชั่นและคําสั่งสําหรับการหนวงเวลา  in_out บรรจุฟงกชั่นและคําสั่งสําหรับอานคาอินพุตดิจิตอลและสงคาออกทางขาพอรตเอาตพุต ดิจิตอล ่ อกับตัวตรวจจับ  analog บรรจุฟงกชั่นและคําสั่งสําหรับอานคาจากอินพุตอะนาลอกทีต  sound บรรจุฟงกชั่นและคําสั่งสําหรับสรางเสียงเพื่อขับออกลําโพง ฟงกชั่นนี้มีการกําหนดขาใช งานที่เฉพาะเจาะจง  motor บรรจุฟงกชันและคํ ่ าสังสํ ่ าหรับขับมอเตอรไฟตรง 2 ชอง ตองทํางานรวมกับวงจรขับมอเตอร ที่ ใชไอซี TB6612 และตองใชไฟเลี้ยงแยกสําหรับมอเตอรไฟตรง ฟงกชั่นนี้มีการกําหนดขาใชงานที่เฉพาะ เจาะจง  servoMotor บรรจุฟงกชั่ นและคําสังสํ ่ าหรับขับเซอรโวมอเตอร ตองทํางานรวมกับเซอรโว มอเตอร และตองใชไฟเลียงแยกสํ ้ าหรับเซอรโวมอเตอร ฟงกชั่นนี้มีการกําหนดขาใชงานที่เฉพาะเจาะจง  serial บรรจุฟงกชั่นและคําสั่งสําหรับสื่อสารขอมูลอนุกรมผานทางพอรต USB และผานทาง ขาพอรต TxD และ RxD ของบอรด Unicon ่ ใน  IRremote บรรจุฟงกชั่ นและคําสั่งสําหรับอานรหัสของปุมรีโมตคอนโทรลอินฟราเรดทีใช เครื่องใชไฟฟา (มีรายละเอียดการใชงานในบทที่ 7) เมื่อตองการใชงานไลบรารีนีต้ องผนวกไฟลไวในตอนตน ของโปรแกรมหลังคําสั่ง #include <unicon.h> ดวยคําสั่ง #include <IRremote.h>

ในการเรียนรูเพื่อใชงานบอรด Unicon จะใชไฟลไลบรารีทั้งแบบมาตรฐานและไฟล unicon.h รวม กัน เพือช ่ วยใหการพัฒนาโปรแกรมสําหรับการใชงานมีประสิทธิภาพสูงสุด และสามารถทําความเขาใจไดงาย ทั้งนีเพื ้ ่อประโยชนในการตอยอดการเรียนรูของผูใชงานในวงกวาง


Unicon  133

   5.4.1 ฟงกชันเกี ่ ่ยวกับเวลา 5.4.1.1 sleep และ delay เปนฟงกชั่นหนวงเวลาโดยประมาณภายในโปรแกรมในหนวยมิลลิวินาที รูปแบบ void sleep(unsigned int ms) void delay(unsigned int ms)

พารามิเตอร ms - กําหนดคาเวลาทีต ่ องการหนวงในหนวยมิลลิวินาที มีคา 0 ถึง 65,535 ตัวอยางที่ 5-1 sleep(20); // หนวงเวลาประมาณ 20 มิลลิวินาที delay(1000); // หนวงเวลาประมาณ 1 วินาที

5.4.1.2 delay_us เปนฟงกชั่นหนวงเวลาโดยประมาณภายในโปรแกรมในหนวยไมโครวินาที รูปแบบ void delay_us(unsigned int us)

พารามิเตอร us - กําหนดคาเวลาทีต ่ องการหนวงในหนวยไมโครวินาที มีคา 0 ถึง 65,535 ตัวอยางที่ 5-2 delay_us(100); // หนวงเวลาประมาณ 100 ไมโครวินาที

5.4.2 ฟงกชันเกี ่ ่ยวกับเสียง 5.4.2.1 beep เปนฟงกชันกํ ่ าเนิดเสียง “ติด” ๊ มีความถี่ 500Hz นาน 100 มิลลิวินาที เพือขั ่ บออกลําโพงเปยโซ ตองตอวงจร ขับลําโพงเปยโซหรือแผงวงจร ZX-SPEAKER เขาที่จุดตอพอรต 11 ของบอรด Unicon รูปแบบ void beep()

ตัวอยางที่ 5-3 beep();

//

กําเนิดเสียงความถี่ 500Hz นาน 100 มิลลิวินาที


134 

Unicon

5.4.2.2 sound เปนฟงกชั่นกําเนิดสัญญาณเสียงที่กําหนดความถี่และระยะเวลาในการกําเนิดสัญญาณได รูปแบบ void sound(int freq,int time)

พารามิเตอร freq - กําหนดความถีสั ่ ญญาณเสียง มีคา 0 ถึง 32,767 time - กําหนดคาเวลาในการกําเนิดสัญญาณเสียงในหนวย 1 มิลลิวินาที มีคา 0 ถึง 32,767 ตัวอยางที่ 5-4 sound(1200,500); // กําเนิดสัญญาณเสียงความถี่ 1200Hz นาน 500 มิลลิวินาที

5.4.3 ฟงกชันเกี ่ ่ยวกับพอรตอินพุตเอาตพุต 5.4.3.1 in เปนฟงกชันอ ่ านคาสถานะลอจิกของพอรตทีกํ่ าหนด เปนหนึงในฟ ่ งกชันการอ ่ านและเขียนคากับพอรต อินพุตเอาตพุตของหุนยนต POP-BOT XT รูปแบบ char in(x)

พารามิเตอร x - กําหนดขาพอรตทีต่ องการอานคา การคืนคา เปน 0 หรือ 1 ตัวอยางที่ 5-4 char x; // ประกาศตัวแปร x เพื่อเก็บคาผลลัพธจาการอานคาระดับสัญญาณ x = in(2); // อานคาดิจิตอลจากพอรตดิจิตอล 2 มาเก็บไวทีตั ่ วแปร x

5.4.3.2 out เปนฟงกชั่นกําหนดระดับสัญญาณหรือขอมูลดิจิตอลไปยังพอรตที่กําหนด รูปแบบ out(char _bit,char _dat)

พารามิเตอร bit - กําหนดขาพอรตทีต ่ องการ ตัวอยางที่ 5-5 out(4,1); // กําหนดใหขาพอรต 4/A6 เปนเอาตพุตดิจิตอลและมีคาเปน “1” out(6,0); // กําหนดใหขาพอรต 6/A7 เปนเอาตพุตดิจิตอลและมีคาเปน “0”


Unicon  135

5.4.4 ฟงกชันเกี ่ ่ยวกับการติดตอกับตัวตรวจจับ 5.4.4.1 analog เปนฟงกชั่นอานคาขอมูลดิจิตอลที่ไดจากการแปลงสัญญาณอะนาลอกของไมโครคอนโทรลเลอรที่ พอรต A0 ถึง A7 ซึงใช ่ ในการเชื่อมตอกับตัวตรวจจับที่ใหผลการทํางานในรูปแรงดันไฟฟาในยาน 0 ถึง +5V รูปแบบ unsigned int analog(unsigned char channel)

พารามิเตอร ่ องการ มีคา 0 ถึง 7 ซึ่งตรงกับขาพอรต A0 ถึง A7 channel - กําหนดชองอินพุตอะนาลอกทีต การคืนคา เปนขอมูลทีได ่ จากการแปลงสัญญาณของโมดูลแปลงสัญญาณอะนาลอกเปนดิจิตอลภายในไมโคร คอนโทรลเลอรจากชองอินพุตทีกํ่ าหนด โดยขอมูลมีความละเอียด 10 บิต ดังนันค ้ าทีเป ่ นไปไดคือ 0 ถึง 1,023

5.4.4.2 knob เปนฟงกชั่นอานคาขอมูลจากตัวตานทานปรับคาได KNOB บนแผงวงจร GLCD-XT จะใชงานไดเมือนํ ่ า แผงวงจร GLCD-XT มาเสียบเขากับบอรด Unicon มีการทํางานเหมือนกับคําสัง่ analog(8) แตคาทีอ่ านไดมี คาในชวง 80 ถึง 1023 เนืองจากตั ่ วตานทานปรับคาไดนีเชื ้ อมต ่ อกับสวิตช OK ทีติ่ ดตังบนแผงวงจร ้ GLCD-XT ดวย รูปแบบ unsigned int knob()

การคืนคา คาทีอ่ านไดจากตัวตานทานปรับคาได KNOB บนแผงวงจร GLCD-XT มีคาระหวาง 80 ถึง 1023 ตัวอยางที่ 5-6 int val=0; // กําหนดคาตัวแปรสําหรับเก็บคาอะนาลอก val=knob(); // อานคาจากตัวตานทานปรับคาได KNOB เก็บในตัวแปร val



 

  

รูปที่ 5-2 แสดงปุม KNOB และสวิตช OK บนแผงวงจร GLCD-XT


136 

Unicon

5.4.4.3 sw_ok() เปนฟงกชั่นตรวจสอบสถานะสวิตช OK บนแผงวงจร GLCD-XT จะใชงานไดเมื่อนําแผงวงจร GLCDXT มาเสียบเขากับบอรด Unicon โดยใหสถานะ “เปนจริง” เมื่อมีการกดสวิตชและ “เปนเท็จ” เมื่อไมมีการกด สวิตช รูปแบบ unsigned char sw_ok()

การคืนคา 1 (เปนจริง) เมื่อมีการกดสวิตช 0 (เปนเท็จ) เมื่อไมมีการกดสวิตช หมายเหตุ การกดสวิตช OK มีผลทําใหคาทีอ่ านไดจาก Knob เปน 0 ดวย ตัวอยางที่ 5-7 if(sw_ok()) { beep();

//

เมื่อกดสวิตช OK จะมีเสียง “ติ้ด” ดังออกลําโพง

}

5.4.4.4 sw_ok_press() เปนฟงกชันวนตรวจสอบการกดสวิ ่ ตช OK บนแผงวงจร POP-XT ตองรอจนกระทังสวิ ่ ตชถูกปลอยหลัง จากการกดสวิตชจึงจะผานฟงกชั่นนี้ไปกระทําคําสั่งอืนๆ ่ ตัวอยางที่ 5-8 ........ sw_ok_press(); ......

// รอจนกระทั่งเกิดกดสวิตช OK


Unicon  137

5.4.5 ฟงกชันเกี ่ ่ยวกับการสื่อสารขอมูลอนุกรม เปนไฟลไลบรารีสนับสนุนชุดคําสั่งเกียวกั ่ บการรับสงขอมูลผานโมดูลสือสารข ่ อมูลอนุกรม (UART)

5.4.5.1 การเชื่อมตอทางฮารดแวร เมือต ่ องการใชงานชอง UART0 ใหตอสายจากจุดตอพอรต USB บนบอรด Unicon (เปนจุดตอเดียวกับที่ใชในการอัปโหลด) เขากับ พอรต USB ของคอมพิวเตอร เมือต ่ องการใชงานชอง UART1 ตอสายสัญญาณเขากับจุดตอ RxD (ขาพอรต 0) และ TxD (ขาพอรต 1)

5.4.5.2 uart เปนฟงกชันสํ ่ าหรับสงขอมูลสายอักขระออกจากโมดูล UART0 มีอัตราบอดเริมต ่ นที่ 4,800 บิตตอวินาที รูปแบบ void uart(char *p,...)

พารามิเตอร p - รับรหัสของกลุมขอความที่ตองการสงออกจากภาคสงของโมดูล UART0 โดยสามารถกําหนดรูป แบบการแทรกสัญลักษณพิเศษเพื่อใชรวมในการแสดงผลไดดังนี้ รหัสบังคับ การทํางาน %c หรือ %C แสดงผลตัวอักษร 1 ตัว %d หรือ %D แสดงผลตัวเลขฐานสิบชวงตั้งแต -32,768 ถึง +32,767 %l หรือ %L แสดงผลตัวเลขฐานสิบชวงตั้งแต -2,147,483,648 ถึง +2,147,483,647 %f หรือ %F แสดงผลขอมูลแบบจํานวนจริง(แสดงทศนิยม 3 หลัก) \r กําหนดใหขอความชิดไปทางดานซายของบรรทัด \n กําหนดใหขอความขึ้นบรรทัดใหม

5.4.5.3 uart_set_baud เปนฟงกชั่นกําหนดอัตราบอดในการสื่อสารของโมดูล UART0 กับคอมพิวเตอร รูปแบบ void uart_set_baud(unsigned int baud)

พารามิเตอร baud - อัตราบอดในการสื่อสารของโมดูล UART0 กับคอมพิวเตอร มีคา 2400 ถึง 115,200 ตัวอยางที่ 5-9 ่ อมูลเปน 4,800 บิตตอวินาที uart_set_baud(4800); // กําหนดอัตราบอดในการสือสารข


138 

Unicon

5.4.5.4 uart_available เปนฟงกชั่นตรวจสอบการรับขอมูลเขามาของโมดูล UART0 เมื่อติดตอกับคอมพิวเตอร รูปแบบ unsigned char uart_available(void)

การคืนคา - เปน “0” เมื่อยังไมมีขอมูลเขามา - มากกวา 0 เมื่อมีขอมูลเขามา โดยมีคาเทากับจํานวนของอักขระทีได ่ รับ ตัวอยางที่ 5-10 char x =uart_available();

// ตรวจสอบวา มีขอมูลเขามาทางภาครับของโมดูล UART0 หรือไม ถา x มีคามากกวา 0 แสดงวา // มีขอมูลเขามายังภาครับแลว ควรอานขอมูลออกดวยฟงกชัน่ uart_getkey ในลําดับถัดไปทันที

5.4.5.5 uart_getkey เปนฟงกชั่นอานขอมูลจากบัฟเฟอรตัวรับของโมดูล UART0 รูปแบบ char uart_getkey(void)

การคืนคา - เปน “0” เมื่อไมมีการรับอักขระใดๆ เขามายังวงจรภาครับของโมดูล UART - เปนคาของอักขระทีรั่ บไดในรูปแบบของรหัสแอสกี้

5.4.5.6 uart1 เปนฟงกชันส ่ งขอมูลสายอักขระออกทางภาคสงของโมดูล UART1 มีอัตราบอดเริมต ่ นที่ 9,600 บิตตอวินาที รูปแบบ void uart1(char *p,...)

พารามิเตอร p - รับรหัสของกลุมขอความที่ตองการสงออกจากภาคสงของโมดูล UART1 โดยสามารถกําหนดรูป แบบการแทรกสัญลักษณพิเศษเพื่อใชรวมในการแสดงผลเหมือนกับฟงกชัน่ uart

5.4.5.7 uart1_set_baud เปนฟงกชั่นกําหนดอัตราบอดในการสื่อสารของโมดูล UART1 กับคอมพิวเตอร รูปแบบ void uart1_set_baud(unsigned int baud)

พารามิเตอร baud - กําหนดคาอัตราบอดในการสื่อสารของโมดูล UART1 มีคา 2400 ถึง 115,200 ตัวอยางที่ 5-12 uart1_set_baud(19200); // กําหนดอัตราบอดในการสื่อสารเปน 19,200 บิตตอวินาที


Unicon  139

5.4.5.8 uart1_available เปนฟงกชั่นตรวจสอบการรับขอมูลเขามาของโมดูล UART1 เมื่อติดตอกับคอมพิวเตอร รูปแบบ unsigned char uart1_available(void)

การคืนคา - เปน 0 เมื่อไมมีขอมูลเขามา - มากกวา 0 โดยมีคาเทากับจํานวนของอักขระทีได ่ รับ ตัวอยางที่ 5-13 char x =uart1_available();

// ตรวจสอบวามีขอมูลเขามาทางภาครับของโมดูล UART1 หรือไม // ถา x มีคามากกวา 0 แสดงวามีขอมูลเขามาแลว ควรอานออกไปดวยฟงกชัน่ uart1_getkey ทันที

5.4.5.9 uart1_getkey เปนฟงกชั่นอานขอมูลจากบัฟเฟอรตัวรับของโมดูล UART1 รูปแบบ char uart1_getkey(void)

การคืนคา - เปน 0 เมื่อยังไมมีการรับอักขระใดๆ - เปนคาของอักขระทีรั่ บไดในรูปแบบของรหัสแอสกี้


140 

Unicon


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.