登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

89C51通讯程序请教

作者:Tomzong 栏目:单片机
89C51通讯程序请教
我想从串口所读的数据中分离出"$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
通信
发送可以不用中断

参与讨论
昵称:
讨论内容:
 
 
相关帖子
简单问题
ICCAVR指针应用问题
关于AVR 外扩问题
请教!!用ICC AVR编译的问题
C8051 全线报价格 原装供应1
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号