2019-07-21 04:31发布
douxiaolingyun 发表于 2018-11-22 08:46 你可以接受一个报文长度。比如说256个。 void USART2_IRQHandler(void) //串口2中断服务 ...
願嚸 发表于 2018-11-21 14:23 可能是8266分多次发的。为啥一定要一次接收完呢,接收几次不一样的么。
最多设置5个标签!
调好了 采用哪个超时检测 开了一个定时器 10MS接不到字符 关闭
一次性发送的 串口协议只能接受处理第一行 因为第一行有RN就算结束了 第二行收不到就重新接收了
void USART2_IRQHandler(void) //串口2中断服务程序
{
u8 res;
if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET) //中断标志位清零
{
res=USART_ReceiveData(USART2); //读取接收到的数据
USART2_RX_BUF[USART2_RX_STA&0X3FFF] = res;
USART2_RX_STA++;
if(USART2_RX_STA>(255))USART2_RX_STA=0;//接收数据255,重新开始接收
}
}
一周热门 更多>