如何判断接收到一条完整的数据:
无论做的什么串口通信,数据总是一条一条的发送,发送完一条再发送另一条,发送每一条数据之间存在时间间隔,串口接收数据的时候控制一个
变量在定时器里面累加,...同时串口中断接收数据的时候对这个变量清零!...如果串口一直接收数据这个变量永远累加不到期望的数值,如果串口接收
数据以后不再接收数据,变量会累加到期望的数值,然后就是判断接收到一条完整的数据....注:上面方案并不是最优的方式,但是适用于所有的单片机
我的想法是
发送数据采用 内存管理+DMA
每次发送的数据通过内存管理API放到内存里面,放入以后就查看一下以前的数据是不是发送完了,如果发送完了就重新配置下...如果用定时器就是定时器里面获取DMA接收的数据个数(DMA有API可以获取),如果接收的数据个数在一定时间内不再改变,则置位标志,复位DMA.
当然如果为了预防处理慢,接收快的问题,加入内存管理。