串口接收的思路
扫描二维码
随时随地手机看文章
在avr论坛上看到的 关于串口接收的方法 对项目有点帮助就记录下了
感谢网友AVRBBS 提供的方法
staticunsignedchari;//定义一个静态变量,用于记录接收到那一个字节了。switch(i){case:0if(udr==0xAA)//收到第一个数据,判断是否为0XAA启动字节。i=i+1;//同步成功,增加变量i,进入下一步操作。break;case:1在这一步取第符长度,并把它保存在你定义的接收数组里面,在后面接收数据的时候用的到。case:2接收命令字节,存入到数组里面。。。。。。。。上面是大概流程,供你参考学习,下面的具体程序需要你自己完成。case:7判断帧停止位(0x55)、判断前一位校验是否正确,如果两项都成功了,那么做下面两件事:1、根据你的情况作出一定动作,或者打上某个标志,以标志你接收完成。2、记得把变量i=0复位。