|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
89C51通讯程序请教 |
作者:Tomzong 栏目:单片机 |
我想从串口所读的数据中分离出"$1#"有用数据,进行LED灯延时实验.但测试了一下未能通过,还望大家指点一二! 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) { //协议报文收齐,进行判断并处理 if (buff[1]==0x31) //1 { ch3=0; ledFlag=1; } } else { buff[recvLen]=TEMP; } recvLen++; } if ((recvLen==2) && (TEMP!=0x23)) { //接收的数据有误 } } if(TI==1) { TI=0; } } void main() { while(1) { if(ledFlag) { ch3 = 0; delay(10000); ch3 = 1; delay(10000); } } } |
2楼: | >>参与讨论 |
作者: wan_aigo 于 2007/2/11 15:11:00 发布:
通信 发送可以不用中断 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |