smile雷少 发表于 2016-5-5 22:23:14

【新人求助】我想利用dma方式,与蓝牙模块通信

本帖最后由 smile雷少 于 2016-5-31 14:20 编辑

问题已解决谢谢大家关注 程序我已经打包了

wtliu 发表于 2016-5-6 09:53:24

初始化DMA,将要发送的数据地址传送给地址控制器,然后启动它。

huaiqiao 发表于 2016-5-6 11:33:02

您应该是想通过串口与蓝牙通信吧。dma只是为cpu减负,和您与蓝牙通信关系不大吧。

power568 发表于 2016-5-6 13:27:28

其实是Usart的dma发送,如果你是在main函数中发送的话,把数据写到你定义的dma缓冲区地址中,然后调用你定义的函数MYDMA_Enable,即可实现数据的发送。
   至于你发送的是否是Float和什么模块通讯则无关紧要...

smile雷少 发表于 2016-5-8 16:34:04

本帖最后由 smile雷少 于 2016-5-8 22:24 编辑

power568 发表于 2016-5-6 13:27
其实是Usart的dma发送,如果你是在main函数中发送的话,把数据写到你定义的dma缓冲区地址中,然后调用你定 ...
恩“把数据写到你定义的dma缓冲区地址中”这一步如何操作呢我之前没接触过stm系列 只会51单片机 还请多多指教

smile雷少 发表于 2016-5-8 16:35:01

wtliu 发表于 2016-5-6 09:53
初始化DMA,将要发送的数据地址传送给地址控制器,然后启动它。

能具体教教我吗? 我第一次接触stm单片机谢谢啊

lcdi 发表于 2016-5-9 11:33:41

详细的应该参考ST的例程,我记得官方例程有DMA操作uart的。

power568 发表于 2016-5-9 12:56:38

smile雷少 发表于 2016-5-8 16:34
恩“把数据写到你定义的dma缓冲区地址中”这一步如何操作呢我之前没接触过stm系列 只会51单片机 还请 ...

你初始化DMA 发送通道的时候,需要指定变量DMA_Memory0BaseAddr一个地址(一般来讲是个数组的首地址),往这个数组内填充数据即可;另外,你还是找个官方提供的程序看看吧,里面都有...

whtt 发表于 2016-5-9 14:40:37

大量发送数据时候才适合启用DMA,如果每次只发送几个字节的数据还是直接操作串口发送吧
页: [1]
查看完整版本: 【新人求助】我想利用dma方式,与蓝牙模块通信