|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
51串口通訊問題請(qǐng)教 |
| 作者:Tomzong 欄目:ARM技術(shù) |
我想從串口所讀的數(shù)據(jù)中分離出"$1#"有用數(shù)據(jù),進(jìn)行LED燈延時(shí)實(shí)驗(yàn).但測(cè)試了一下未能通過,還望大家指點(diǎn)一二! void ISR_ES(void) interrupt 4 { unsigned CHAR TEMP; if(RI==1) { RI = 0; TEMP = SBUF; if(TEMP == 0x24) //$ { recvLen = 0; buff[0]= TEMP; } else if(TEMP==0x23) //# { buff[2] = TEMP; if (recvLen==1) { //協(xié)議報(bào)文收齊,進(jìn)行判斷并處理 if (buff[1]==0x31) //1 { ch3=0; ledFlag=1; } } else { buff[recvLen]=TEMP; } recvLen++; } if ((recvLen==2) && (TEMP!=0x23)) { //接收的數(shù)據(jù)有誤 } } if(TI==1) { TI=0; } } void main() { while(1) { if(ledFlag) { ch3 = 0; delay(10000); ch3 = 1; delay(10000); } } } |
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào) |