STM32 能做到吗?高手请进,STM32 的 TIM 定时请求DMA SPI 传输?

2019-08-13 22:05发布

STM32  的 TIM  定时启动  SPI  传输?  哪位仁兄能给点建议吗?通过DMA,该如何配置呢? 我的应用是要  与 外面 高速(1us)AD芯片相连,通过SPI DMA驱动,定时1us启动一次,即1us发生一个SPI DMA请求,而不是SPI的TXE RXNE自动发生DMA请求?  STM32 TIM 的DMA   不能将目标地址或源地址   绑到SPI的DR寄存器地址?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
44条回答
xuande
2019-08-13 22:53
本帖最后由 xuande 于 2017-6-26 14:42 编辑

可以利用两路DMA实现,我已经用几年了。

一路是:
定时器触发DMA,向 SPI-DR 寄存器写数据,目的是启动该SPI 的接收功能(因为SPI的收发是同时、同步的);
同时定时器输出PWM波形,触发外部芯片的动作,比如启动AD采集新数据。

另一路是:
该 SPI 的 RX 事件触发 DMA,目的是把 SPI 接收到的数据搬移到其他地方。

我也尝试过用一路DMA完成上面两个动作,但没有成功,好像做不到的,
关键是SPI,只能用“向DR送数据”的方法启动其接收功能,而不能直接启动接收。


一周热门 更多>