打印
[STM32F0]

STM32F407 用定时器控制SPI传输的相关问题

[复制链接]
541|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
豌豆爹|  楼主 | 2022-12-12 10:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想用单片机读取ADS8695芯片的ADC值,单片机作为主机,ADC作为从机。SPI的CS端用TIM1的PWM替代,同时利用TIM1的UP事件,触发一次SPI发送,我的数据是32位的,通过UP事件触发的SPI发送只发送8位,导致SPI接收到的只有8位,请问该怎么解决呢?如何让UP事件触发的SPI发送能发送32位的数据呢。谢谢

使用特权

评论回复
沙发
麻花油条| | 2022-12-12 14:12 | 只看该作者
请ST的技术支持帮忙回复下把

使用特权

评论回复
板凳
麻花油条| | 2022-12-13 10:00 | 只看该作者
你如果想发送32位,每次更新事件后,你可以连续发送4个字节数据。另外,F407SPI支持16位数据模式,每次更新事件发2个半字数据也可以的。其中SPI的发送,基于查询或者中断方式还是DMA方式都可以。




[color=var(--default-a-next-color)][url=][/url]

使用特权

评论回复
地板
lxs0026| | 2024-8-31 15:37 | 只看该作者
使用32位的数据宽度时,你应该写入32位的数据到SPI的数据寄存器中。定时器UP事件只需触发SPI的发送过程,而不需要处理数据的具体内容。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

508

主题

1938

帖子

5

粉丝