原先一直做Linux上的应用,Linux上处理数据都是按照帧处理,也就是一次调用read函数,读取到的是一帧数据;
一帧的概念是起始位和停止位之间的数据。
在STM32上,一开始我看正点原子的教程,RNXE中断,收到一个BYTE,就进一次中断,这种方法太烦了吧。
然后我看了DMA的方式,最终觉得,应该来讲利用DMA在后台收数据,IDLE中断时获取DMA缓存,这样就是按帧处理。和Linux的实现方式一样。
发送的话,我没有发现DMA发送比普通发送有啥优点。
以上是铺垫,请教大家两个问题:
1、想要按帧处理,最优的接收方式,是不是DMA+IDLE中断接受?
2、发送数据,DMA和普通发,有什么优势? |