![]() |
發布時間: 2020-4-12 16:38
正文摘要:電腦和單片機通訊時,由電腦輸入到單片機的字符信息,能否直接調用,用于單片機的條件判斷 我用電腦輸入的信息做判斷,控制LED燈,結果LED燈沒變化。 #include "reg52.h" typedef unsigned int u16; t ... |
你可以把controller的值通過串口返回電腦看看值是否正確 |
改把HEX選中再發送試試。 |
1092648746 發表于 2020-4-12 16:50 void Usart() interrupt 4 { recv=SBUF; controller=recv-0x30; RI=0; SBUF=recv; while(!TI); TI=0; if(controller==0) {led0=0;} else if(controller==1) {led1=0;} } 改了下。剛燒錄完可以。輸入信息的控制還是不行。 |
你發送的是字符串'1'吧,對應接收的HEX碼是0x31。有疑問可以看看ASCII碼。 可以這樣改一下 recv=SBUF; //電腦發送的信息進入單片機緩沖器 controller=recv - 0x30; //減去0x30后的值為真正的數字 |