×
单片机 > 单片机程序设计 > 详情

USART接收数据,以回车结束

发布时间:2021-06-11 发布时间:
|

单片机:PIC18F45K80


实现功能:接收发来的以回车换行(0x0D,0X0A)结尾的串口数据。


#define RX_SIZE 100 //接收缓存区大小

#define FINISH 1

bit RX_flag; //接收完成标志

unsigned char RX[RX_SIZE]; //接收缓存

unsigned char RX_C=0; //接收计数


void USART_RX() //在中断中加入此函数

{

unsigned char data;

if(RC1IE&&RC1IF) //判断是否是usart1中断,且RC1IF=1

{

data=RCREG1; //接收1字节数据

RX[RX_C++]= data;

if(data== 0x0A && RX[RX_C-2] == 0x0D ) //判断接收是否结束

{

RX_C=0;

RX_flag=FINISH; //置位接收完成标志

}

}


}


注意:先判断data是否等于0x0a,再去判断RX[RX_C-2]等于0x0d。

因为0x0a是数据帧的最后一个数据。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
LCD驱动-JZ2440