ตาราง ascii สำหรับการเขียนโปรแกรม
Wiriya007 (Member) |
Engineer007.com พื้นฐานความรู้ที่ดี พัฒนาความคิด"อัจฉริยะ"
|
Wiriya007 (Member) |
static unsigned char z[20]; // for serial command a=get_serial(); for(i=0;i<=18;i++) { z[i]=z[i+1]; } z[19]=a; if(z[19]==10) // ตำแหน่งที่19เป็นการเช็ค Enter และเป็นตำแหน่งสุดท้ายของการรับข้อมูล , ตำแหน่งที่18 เป็น NULL { TorqueMotor =( ((z[15]-48)*100) + ((z[16]-48)*10) + (z[17]-48)); // - 48 เพราะแปลงจาก ascii เป็นตัวเลข clr_data_buffer(); // ต้องเคลียร์ค่าใน Buffer ด้วย } //========================== void clr_data_buffer() { unsigned char i; for(i=0;i<=19;i++) { z[i]=0; } } //========================== เทคนิค การใช้งานครับ ตัวอย่างข้างบนภาษาซีเป็นการรับข้อมูลจาก RS232 และตรวจเช็ค Key สุดท้ายว่าเป็น Enter สามารถรับค่าได้ 19ตัวอักษร เช่น พิมพ์ที่ Hyperterminal ว่า 123แล้วกด Enter ข้อมูลที่รับตัวแรกจะเลื่อนค่าไปข้างหน้าเรื่อยๆ ค่าของข้อมูลจะเป็นดังนี้ z[19] = Enter z[18] = Null z[17] = 3 z[16] = 2 z[15] = 1 ค่าตัวเลขที่ได้จากด้านบนจะเป็น ascii อยู่ เช่น z[15] ซึ่งมีค่าทาง ascii คือ 1 แต่ค่าทางเลขฐานสิบคือ 49 การที่จะนำค่าไปใช้ได้ทางเลขฐานสิบเพื่อนำไปคำนวนต่อทำได้โดยการนำไป -48 z[15] -48 จะเท่าำกับ 1 นำไปคำนวณเพื่อใช้งานต่อได้แล้วครับ Engineer007.com พื้นฐานความรู้ที่ดี พัฒนาความคิด"อัจฉริยะ"
|
Page : 1
Lock Reply