【新人求助】我想利用dma方式,与蓝牙模块通信
本帖最后由 smile雷少 于 2016-5-31 14:20 编辑问题已解决谢谢大家关注 程序我已经打包了 初始化DMA,将要发送的数据地址传送给地址控制器,然后启动它。
您应该是想通过串口与蓝牙通信吧。dma只是为cpu减负,和您与蓝牙通信关系不大吧。 其实是Usart的dma发送,如果你是在main函数中发送的话,把数据写到你定义的dma缓冲区地址中,然后调用你定义的函数MYDMA_Enable,即可实现数据的发送。
至于你发送的是否是Float和什么模块通讯则无关紧要...
本帖最后由 smile雷少 于 2016-5-8 22:24 编辑
power568 发表于 2016-5-6 13:27
其实是Usart的dma发送,如果你是在main函数中发送的话,把数据写到你定义的dma缓冲区地址中,然后调用你定 ...
恩“把数据写到你定义的dma缓冲区地址中”这一步如何操作呢我之前没接触过stm系列 只会51单片机 还请多多指教 wtliu 发表于 2016-5-6 09:53
初始化DMA,将要发送的数据地址传送给地址控制器,然后启动它。
能具体教教我吗? 我第一次接触stm单片机谢谢啊 详细的应该参考ST的例程,我记得官方例程有DMA操作uart的。 smile雷少 发表于 2016-5-8 16:34
恩“把数据写到你定义的dma缓冲区地址中”这一步如何操作呢我之前没接触过stm系列 只会51单片机 还请 ...
你初始化DMA 发送通道的时候,需要指定变量DMA_Memory0BaseAddr一个地址(一般来讲是个数组的首地址),往这个数组内填充数据即可;另外,你还是找个官方提供的程序看看吧,里面都有... 大量发送数据时候才适合启用DMA,如果每次只发送几个字节的数据还是直接操作串口发送吧
页:
[1]