DMA一直以来也是一个只闻其名的模块,在我的实际的实践中几乎没有用到。也许是我解决的问题大都不需要这么高端的功能就能够cover得了吧!
还没有看文档,直接看了一下SDK的IDE可配置信息,似乎实现这个功能基于SDK的话是很容易的。
SDK中做相应的配置,传输模式不再使用中断,而是使用DMA。之后,选择DMA通道。这个通道是需要在DMA的模块中配置的。
代码生成,之后,初始化DMA,然后做收发的测试。
首先,看得出串口的发送功能是OK的,这个打印显示功能还是正常的。接下来看看接收的功能:
从上面的结果看,这个接收功能也是可以工作的。但是,之前发现的接收数据丢失的问题似乎还是存在。后面,这个问题还是需要进一步分析解决。