一,处理思路(定时器模拟空闲中断)
判断串口接收到一条完整的数据以后置位一个标志位,主循环判断此标志位处理数据.
...如何判断接收到一条完整的数据:
无论做的什么串口通信,数据总是一条一条的发送,发送完一条再发送另一条,发送每一条数据之间存在时间间隔,串口接收数据的时候控制一个
变量在定时器里面累加,...如果串口一直接收数据这个变量永远累加不到期望的数值,如果串口接收
数据以后不再接收数据,变量会累加到期望的数值,然后就是判断接收到一条完整的数据....二,由于每个单片机串口配置的写法不一,只截图说明使用
?
?
?
串口接收到数据时:Usart1ReadCnt++; Usart1IdleCnt = 0;
定时器 判断Usart1ReadCnt !...DMA
同时开启DMA发送完成中断,DMA发送完成中断里面也要判断内存里面有没有需要发送的数据,有的话就重新配置DMA,
说完发送,再说接收
我的想法是
数组+DMA+串口空闲中断/定时器
串口空闲中断和定时器的作用都是判断接收到一条完整的数据