你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F4 的SPI接口24位命令字的DAC

[复制链接]
twodiamond 提问时间:2018-3-24 11:02 /
大家好,请教一下:
F4的SPI口如何能实现帧长为24bit的操作呢(DAC接口时序为24bit),不用GPIO模拟,直接让SPI + DMA支持,以免占用太多CPU资源。

BF4897D3B8124FD9A7692A0515D3936D.jpg

谢谢!
收藏 评论6 发布时间:2018-3-24 11:02

举报

6个回答
wenyangzeng 回答时间:2018-3-24 11:52:26
本帖最后由 wenyangzeng 于 2018-3-24 11:53 编辑

SPI无法24字节发送,只能连续发送3个字节数据,而DAC好像也只有12Bit,

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

xmstudio 回答时间:2018-3-24 12:34:40
可以尝试一下发送三帧数据然后再操作SYNC,如果只是操作一个GPIO的话应该也不会占用太多的资源

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

twodiamond 回答时间:2018-3-24 14:52:35
@wenyangzeng
如何配置SPI,一次操作能连续发送3个字节呢? 好像只能连续3次调用SPI_cmd()?

twodiamond 回答时间:2018-3-24 14:56:45
xmstudio 发表于 2018-3-24 12:34
可以尝试一下发送三帧数据然后再操作SYNC,如果只是操作一个GPIO的话应该也不会占用太多的资源 ...

GPIO操作不花时间,但是你得等待三帧传送完成,这里面这个等待的时间如何去实现-空转查询还是中断,都比较浪费CPU资源。想过用PWM+DMA来模拟SYNC信号,但如何做到3帧呢?DMA突发模式也只有1/4/8这样的选项。
nanren0542 回答时间:2018-3-24 21:19:49
记录一下,刚好学习
七哥 回答时间:2018-3-24 23:12:43
我有个想法,不知道实现起来如何。
用SYNC和SPI的时钟都用定时器产生,MCU本身的SPI作为从模式。也就是说MCU自己的两根管脚要短接,SPI只负责往出发数据。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版