Page 111 - ipst-microbox_manual
P. 111
¤ÁÙ Í× ÍÒ §Í§Ô áÅÐ㪧 Ò¹¡ÅÍ §ÊÁͧ¡Å IPST-MicroBOX l 111
7.9.4 ¿§ ¡ª ¹èÑ uart_getkey
ãªÃѺ¢ÍÁÙÅ·èÕÁÒ¨Ò¡¾Íõ͹ءÃÁ¼Ò¹¡ÒÃÊ×èÍÊÒâÍÁÙÅ͹ءÃÁ¡Ñº¤ÍÁ¾ÔÇàµÍÃ
ÃٻẺ¿§¡ªÑè¹
char uart_getkey(void)
¾ÒÃÒÁàÔ µÍÃ
äÁÁ ¡Õ Òä¹× ¤Ò
¡Òä׹¤Ò
l ¨Ð¤¹× ¤Ò ໹ 0 àÁÍè× Â§Ñ äÁÁ ¡Õ ÒÃÃºÑ Í¡Ñ ¢ÃÐã´æ à¢Ò ÁÒ处 ÀÒ¤ÃºÑ ¢Í§âÁ´ÅÙ ÊÍè× ÊÒÃ¢Í ÁÅ٠͹¡Ø ÃÁ
làÁÍè× Á¡Õ ÒÃÃºÑ Í¡Ñ ¢ÃÐà¢Ò ÁÒ处 âÁ´ÅÙ ÊÍè× ÊÒÃ¢Í ÁÅ٠͹¡Ø ÃÁ¨Ð¤¹× ¤Ò ·µÕè ç¡ºÑ Í¡Ñ ¢Ãй¹éÑ æ¨Ò¡¿§ ¡ª ¹Ñè
µÇÑ ÍÂÒ §·Õè 7-26
void main() // â»Ãá¡ÃÁËÅ¡Ñ
{ // ǹÃͺäÁà ¨Ù º
while(1)
{ // µÃǨ¨ºÑ ¡Òá´á»¹ ¤ÂÕ a ÇÒ ¶¡Ù ¡´ËÃÍ× äÁ
if(uart_getkey()==’a’)
{
lcd(“Key a Active!”); // áÊ´§¢Í ¤ÇÒÁÇÒ ¨ºÑ ä´Ç Ò Á¡Õ Òá´á»¹ ¤ÂÕ a
sleep(1000); // Ë¹Ç §àÇÅÒáÊ´§¢Í ¤ÇÒÁ»ÃÐÁÒ³ 1 Ç¹Ô Ò·Õ
} // à¤ÅÂÕ Ã¢ Í ¤ÇÒÁ·¨Õè ÍáÊ´§¼Å¢Í§âÁ´ÅÙ LCD
else
{
lcd(“#c”);
}
}
}
ËÁÒÂà赯 ¡ÒÃàÃÂÕ ¡ãª§ Ò¹¿§ ¡ª ¹èÑ uart à¾Í×è ʧ ¢Í ÁÅÙ ÍÍ¡·Ò§ä»Â§Ñ ¾Íõ ͹¡Ø ÃÁáÅп§ ¡ª ¹Ñè uart_getkey
à¾Íè× µÃǨ¨ºÑ Í¡Ñ ÉÃÐã´æ¹¹Ñé 굄 ÃҺʹËÃÍ× ÍµÑ ÃÒàÃÇç 㹡ÒÃÊÍè× ÊÒÃ¢Í ÁÅÙ ÃÐËÇÒ §âÁ´ÅÙ ÊÍè× ÊÒÃ¢Í ÁÅ٠͹¡Ø ÃÁä´¶ ¡Ù ¡Òí
˹´à»¹ 9,600 ºµÔ µÍ Ç¹Ô Ò·Õ ¨Òí ¹Ç¹ºµÔ ¢Í ÁÅÙ 8 ºµÔ áÅÐäÁã ª§ Ò¹ºµÔ ¾ÒÃµÔ âÕé ´Â굄 â¹ÁµÑ Ô (໹ ¤Ò µ§Ñé µ¹ ) àÁÍ×è ÁÕ
¡ÒÃàÃÂÕ ¡ãª§ Ò¹¿§ ¡ª ¹èÑ ´§Ñ ¡ÅÒ Ç «§Öè ¶Í× à»¹ 굄 ÃҺʹËÃÍ× ÍµÑ ÃÒàÃÇç 㹡ÒÃ¶Ò Â·Í´¢Í ÁÅÙ ÁÒµÃÒ°Ò¹·¹èÕ ÂÔ Á㪧 Ò¹â´Â
·ÇèÑ ä» à¾Í×è Å´¤ÇÒÁ«ºÑ «Í ¹ã¹¡ÒÃà¢ÂÕ ¹â»Ãá¡ÃÁŧ áµà ÁÍ×è ¼¾Ù ²Ñ ¹Òâ»Ãá¡ÃÁµÍ §¡ÒÃà»ÅÂÕè ¹á»Å§¤Ò 굄 ÃҺʹã¹
¡ÒÃÊÍ×è ÊÒÃ¢Í ÁÅÙ ¡Êç ÒÁÒö·Òí ä´â ´ÂàÃÂÕ ¡¡ÒáÒí ˹´¤Ò ¨Ò¡¿§ ¡ª ¹èÑ uart_set_baud â´Â¼¾Ù ²Ñ ¹Ò¤ÇäÒí ¹§Ö
¶§Ö ´Ç ÂÇÒ àÁÍ×è 굄 ÃҺʹ㹡ÒÃÊÍ×è ÊÒÃʧ٠¢¹éÖ ÍҨʧ ¼Å¡ÃзºµÍ ¤ÇÒÁ¶¡Ù µÍ §ã¹¡ÒÃÊÍè× ÊÒÃ¢Í ÁÅÙ ´Ç Â
7.9.4 ¿§ ¡ª ¹èÑ uart_getkey
ãªÃѺ¢ÍÁÙÅ·èÕÁÒ¨Ò¡¾Íõ͹ءÃÁ¼Ò¹¡ÒÃÊ×èÍÊÒâÍÁÙÅ͹ءÃÁ¡Ñº¤ÍÁ¾ÔÇàµÍÃ
ÃٻẺ¿§¡ªÑè¹
char uart_getkey(void)
¾ÒÃÒÁàÔ µÍÃ
äÁÁ ¡Õ Òä¹× ¤Ò
¡Òä׹¤Ò
l ¨Ð¤¹× ¤Ò ໹ 0 àÁÍè× Â§Ñ äÁÁ ¡Õ ÒÃÃºÑ Í¡Ñ ¢ÃÐã´æ à¢Ò ÁÒ处 ÀÒ¤ÃºÑ ¢Í§âÁ´ÅÙ ÊÍè× ÊÒÃ¢Í ÁÅ٠͹¡Ø ÃÁ
làÁÍè× Á¡Õ ÒÃÃºÑ Í¡Ñ ¢ÃÐà¢Ò ÁÒ处 âÁ´ÅÙ ÊÍè× ÊÒÃ¢Í ÁÅ٠͹¡Ø ÃÁ¨Ð¤¹× ¤Ò ·µÕè ç¡ºÑ Í¡Ñ ¢Ãй¹éÑ æ¨Ò¡¿§ ¡ª ¹Ñè
µÇÑ ÍÂÒ §·Õè 7-26
void main() // â»Ãá¡ÃÁËÅ¡Ñ
{ // ǹÃͺäÁà ¨Ù º
while(1)
{ // µÃǨ¨ºÑ ¡Òá´á»¹ ¤ÂÕ a ÇÒ ¶¡Ù ¡´ËÃÍ× äÁ
if(uart_getkey()==’a’)
{
lcd(“Key a Active!”); // áÊ´§¢Í ¤ÇÒÁÇÒ ¨ºÑ ä´Ç Ò Á¡Õ Òá´á»¹ ¤ÂÕ a
sleep(1000); // Ë¹Ç §àÇÅÒáÊ´§¢Í ¤ÇÒÁ»ÃÐÁÒ³ 1 Ç¹Ô Ò·Õ
} // à¤ÅÂÕ Ã¢ Í ¤ÇÒÁ·¨Õè ÍáÊ´§¼Å¢Í§âÁ´ÅÙ LCD
else
{
lcd(“#c”);
}
}
}
ËÁÒÂà赯 ¡ÒÃàÃÂÕ ¡ãª§ Ò¹¿§ ¡ª ¹èÑ uart à¾Í×è ʧ ¢Í ÁÅÙ ÍÍ¡·Ò§ä»Â§Ñ ¾Íõ ͹¡Ø ÃÁáÅп§ ¡ª ¹Ñè uart_getkey
à¾Íè× µÃǨ¨ºÑ Í¡Ñ ÉÃÐã´æ¹¹Ñé 굄 ÃҺʹËÃÍ× ÍµÑ ÃÒàÃÇç 㹡ÒÃÊÍè× ÊÒÃ¢Í ÁÅÙ ÃÐËÇÒ §âÁ´ÅÙ ÊÍè× ÊÒÃ¢Í ÁÅ٠͹¡Ø ÃÁä´¶ ¡Ù ¡Òí
˹´à»¹ 9,600 ºµÔ µÍ Ç¹Ô Ò·Õ ¨Òí ¹Ç¹ºµÔ ¢Í ÁÅÙ 8 ºµÔ áÅÐäÁã ª§ Ò¹ºµÔ ¾ÒÃµÔ âÕé ´Â굄 â¹ÁµÑ Ô (໹ ¤Ò µ§Ñé µ¹ ) àÁÍ×è ÁÕ
¡ÒÃàÃÂÕ ¡ãª§ Ò¹¿§ ¡ª ¹èÑ ´§Ñ ¡ÅÒ Ç «§Öè ¶Í× à»¹ 굄 ÃҺʹËÃÍ× ÍµÑ ÃÒàÃÇç 㹡ÒÃ¶Ò Â·Í´¢Í ÁÅÙ ÁÒµÃÒ°Ò¹·¹èÕ ÂÔ Á㪧 Ò¹â´Â
·ÇèÑ ä» à¾Í×è Å´¤ÇÒÁ«ºÑ «Í ¹ã¹¡ÒÃà¢ÂÕ ¹â»Ãá¡ÃÁŧ áµà ÁÍ×è ¼¾Ù ²Ñ ¹Òâ»Ãá¡ÃÁµÍ §¡ÒÃà»ÅÂÕè ¹á»Å§¤Ò 굄 ÃҺʹã¹
¡ÒÃÊÍ×è ÊÒÃ¢Í ÁÅÙ ¡Êç ÒÁÒö·Òí ä´â ´ÂàÃÂÕ ¡¡ÒáÒí ˹´¤Ò ¨Ò¡¿§ ¡ª ¹èÑ uart_set_baud â´Â¼¾Ù ²Ñ ¹Ò¤ÇäÒí ¹§Ö
¶§Ö ´Ç ÂÇÒ àÁÍ×è 굄 ÃҺʹ㹡ÒÃÊÍ×è ÊÒÃʧ٠¢¹éÖ ÍҨʧ ¼Å¡ÃзºµÍ ¤ÇÒÁ¶¡Ù µÍ §ã¹¡ÒÃÊÍè× ÊÒÃ¢Í ÁÅÙ ´Ç Â