สร้างเว็บEngine by iGetWeb.com

ตาราง ascii สำหรับการเขียนโปรแกรม

(อ่าน 24664/ ตอบ 4)

Wiriya007 (Member)

ตาราง ascii สำหรับการเขียนโปรแกรม
  
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
view