STM32__DMA方式——从内存中向串口的发送寄存器搬运数据,速度可能不匹配???

fghdhegd 2014-01-26 06:29:44
内存中定义了一个5200长度的数组,通过DMA方式把数组中的内容搬运到串口的USART1->DR中,
假设USART1->DR中的数据还没有发送完毕,下一个待发送的数据就到了,会把先前USART1->DR中的数据覆盖掉吗?
难道DMA待USART1->DR中的数据发送完毕后才搬运下一个数据?


...全文
263 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
YTerrenceLau 2014-01-27
  • 打赏
  • 举报
回复
这要看是设备自己的dma还是通用dma,独有的dma基本都会处理还没发完的情况。 通用dma要看dma相关文档。
不再为你停留 2014-01-27
  • 打赏
  • 举报
回复
嗯,应该就是这样的。。
of123 2014-01-27
  • 打赏
  • 举报
回复
貌似不能使用 DMA 来干这种事。除非 UART 有一个可以自己操作的 FIFO。 有些芯片的 SPI 接口有 4 字节的 FIFO,因此可用 DMA 传送 4 字节的数据到 FIFO。当然,传完这 4 字节还是通过中断或轮询来等待 SPI 传送完成。

27,383

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧