Page 71 - ipst-cmanual
P. 71
¤Áً Í× ¡ÒÃà¢ÂÕ ¹â»Ãá¡ÃÁÀÒÉÒ C ÊÒí ËÃºÑ ãª§Œ Ò¹¡Å͋ §ÊÁͧ¡Å IPST-MicroBOX l 71

4.9.4 ¿§˜ ¡ª ¹Ñè uart_getkey

㪌ÃѺ¢ŒÍÁÙÅ·èÕÁÒ¨Ò¡¾Íϵ͹ءÃÁ¼‹Ò¹¡ÒÃÊè×ÍÊÒâŒÍÁÙÅ͹ءÃÁ¡Ñº¤ÍÁ¾ÔÇàµÍÏ

ÃٻẺ¿˜§¡ª ¹Ñè

char uart_getkey(void)

¾ÒÃÒÁÔàµÍÏ

äÁÁ‹ ¡Õ Òä¹× ¤Ò‹

¡Òä¹× ¤Ò‹

l ¨Ð¤¹× ¤Ò‹ ໹š “0” àÁÍ×è 处 äÁÁ‹ ¡Õ ÒÃÃºÑ Í¡Ñ ¢ÃÐã´æ à¢ÒŒ ÁÒ处 ÀÒ¤ÃºÑ ¢Í§âÁ´ÅÙ ÊÍ×è ÊÒâ͌ ÁÅ٠͹¡Ø ÃÁ

l àÁ×èÍÁÕ¡ÒÃÃѺÍÑ¡¢ÃÐࢌÒÁÒÂѧâÁ´ÙÅÊè×ÍÊÒâŒÍÁÙÅ͹ءÃÁ ¨Ð¤×¹¤‹Ò·èյç¡ÑºÍÑ¡¢ÃйÑ鹿
¨Ò¡¿§˜ ¡ªèѹ

µÇÑ ÍÂҋ §·Õè 4-24

void main() // â»Ãá¡ÃÁËÅ¡Ñ
{ // ǹÃͺäÁË ¨ÙŒ º
// µÃǨ¨ºÑ ¡Òá´á»¹‡ ¤ÂÕ  ‘a’ Çҋ ¶¡Ù ¡´ËÃÍ× äÁ‹
while(1) // áÊ´§¢ÍŒ ¤ÇÒÁÇҋ ¨ºÑ ä´ÇŒ ҋ Á¡Õ Òá´á»¹‡ ¤ÂÕ  ‘a’
{ // ˹Nj §àÇÅÒáÊ´§¢ÍŒ ¤ÇÒÁ»ÃÐÁÒ³ 1 Ç¹Ô Ò·Õ

if(uart_getkey()==’a’) // à¤ÅÂÕ Ã¢ ͌ ¤ÇÒÁ·¨èÕ ÍáÊ´§¼Å¢Í§âÁ´ÅÙ LCD
{

lcd(“Key a Active!”);

sleep(1000);
}
else
{

lcd(“#c”);
}
}
}

ËÁÒÂà赯 ¡ÒÃàÃÂÕ ¡ãª§Œ Ò¹¿§˜ ¡ª ¹èÑ uart à¾Í×è ʧ‹ ¢ÍŒ ÁÅÙ ÍÍ¡·Ò§ä»Â§Ñ ¾Íõ ͹¡Ø ÃÁáÅ律 ¡ª ¹èÑ uart_getkey
à¾Í×è µÃǨ¨ºÑ Í¡Ñ ÉÃÐã´æ¹¹Ñé 굄 ÃҺʹËÃÍ× ÍµÑ ÃÒàÃÇç 㹡ÒÃÊÍ×è ÊÒâ͌ ÁÅÙ ÃÐËÇҋ §âÁ´ÅÙ ÊÍè× ÊÒâ͌ ÁÅ٠͹¡Ø ÃÁä´¶Œ ¡Ù
¡Òí ˹´à»¹š 9,600 ºµÔ µÍ‹ Ç¹Ô Ò·Õ ¨Òí ¹Ç¹ºµÔ ¢ÍŒ ÁÅÙ 8 ºµÔ áÅÐäÁ㋠ª§Œ Ò¹ºµÔ ¾ÒÃµÔ âéÕ ´Â굄 â¹ÁµÑ Ô (໹š ¤Ò‹ µ§éÑ µ¹Œ ) àÁÍ×è
Á¡Õ ÒÃàÃÂÕ ¡ãª§Œ Ò¹¿§˜ ¡ª ¹èÑ ´§Ñ ¡Åҋ Ç «§èÖ ¶Í× à»¹š 굄 ÃҺʹËÃÍ× ÍµÑ ÃÒàÃÇç 㹡Òöҋ ·ʹ¢ÍŒ ÁÅÙ ÁÒµÃÒ°Ò¹·¹èÕ ÂÔ Á㪧Œ Ò¹
â´Â·ÇèÑ ä» à¾Í×è Å´¤ÇÒÁ«ºÑ «ÍŒ ¹ã¹¡ÒÃà¢ÂÕ ¹â»Ãá¡ÃÁŧ áµà‹ ÁÍ×è ¼¾ÙŒ ²Ñ ¹Òâ»Ãá¡ÃÁµÍŒ §¡ÒÃà»ÅÂèÕ ¹á»Å§¤Ò‹ 굄 ÃҺʹ
㹡ÒÃÊÍ×è ÊÒâ͌ ÁÅÙ ¡Êç ÒÁÒö·Òí ä´âŒ ´ÂàÃÂÕ ¡¡ÒáÒí ˹´¤Ò‹ ¨Ò¡¿§˜ ¡ª ¹Ñè uart_set_baud â´Â¼¾ÙŒ ²Ñ ¹Ò¤ÇäÒí ¹§Ö
¶§Ö ´ÇŒ ÂÇҋ àÁÍè× ÍµÑ ÃҺʹ㹡ÒÃÊÍ×è ÊÒÃʧ٠¢¹Öé ÍҨʧ‹ ¼Å¡ÃзºµÍ‹ ¤ÇÒÁ¶¡Ù µÍŒ §ã¹¡ÒÃÊÍ×è ÊÒâ͌ ÁÅÙ ´ÇŒ Â
   66   67   68   69   70   71   72   73   74   75   76