硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2878|回复: 3
收起左侧

[例程下载] F407的SPI用DMA定时传输16位数据怎么搞?

[复制链接]

334

主题

2032

回帖

3039

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3039
发表于 2018-4-16 15:31:25 | 显示全部楼层 |阅读模式
比如每隔1ms通过SPI发送一个16bit的数据。 需要DMA来自动搞定。
应该怎么设置?

刚才看手册,SPI配合DMA只能传输8位数据?

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2018-4-16 15:56:36 | 显示全部楼层
F407的DMA不支持定时器触发搬运SPI的数据。而ADC和DAC那种的才可以。
回复

使用道具 举报

334

主题

2032

回帖

3039

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3039
 楼主| 发表于 2018-4-16 16:23:51 | 显示全部楼层
eric2013 发表于 2018-4-16 15:56
F407的DMA不支持定时器触发搬运SPI的数据。而ADC和DAC那种的才可以。

那在定时器中断里面,启动单字节DMA传输2次,应该就是一个16位?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2018-4-16 16:27:36 | 显示全部楼层
caicaptain2 发表于 2018-4-16 16:23
那在定时器中断里面,启动单字节DMA传输2次,应该就是一个16位?

这样的话,跟用SPI中断的效果是一样的。用了DMA反而额外占用资源。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 14:38 , Processed in 0.157875 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表