[STM32H7] SPI_Direction_2Lines_RxOnly

[复制链接]
 楼主| wxqfhy 发表于 2025-5-17 05:32 | 显示全部楼层 |阅读模式
stm32H7  spi主模式设置SPI_Direction_2Lines_RxOnly ,没有SCK输出,不知道是为什么大家给支个招
公羊子丹 发表于 2025-5-22 07:35 | 显示全部楼层
H7系列用的是新版SPI寄存器,可能和F1那种宏定义不太一样,最好用CubeMX配置看看。
周半梅 发表于 2025-5-22 07:36 | 显示全部楼层
主模式下即使是只接收,也必须先发送数据才能产生SCK时钟,不发数据SCK就不动。
帛灿灿 发表于 2025-5-22 07:37 | 显示全部楼层
如果你设置的是主机接收,记得调用HAL_SPI_TransmitReceive或者dummy写入触发时钟。
童雨竹 发表于 2025-5-22 07:37 | 显示全部楼层
SPI主模式的RxOnly一般用于从设备持续输出的场景,这种用法比较少见,建议改成全双工。
万图 发表于 2025-5-22 07:38 | 显示全部楼层
你可以先用普通2线全双工模式试一下,确认SCK能出来,再调RxOnly模式。
Wordsworth 发表于 2025-5-22 07:39 | 显示全部楼层
STM32H7的SPI配置建议用LL库,自己控制更灵活,尤其是主模式时序要求。
Bblythe 发表于 2025-5-22 07:40 | 显示全部楼层
有些时候是IO配置的问题,检查一下SCK引脚是不是漏配置成AF模式。
Pulitzer 发表于 2025-5-22 07:41 | 显示全部楼层
你试试用TIM2的ETR功能,频率计数完美适配,就是别忘了打开ETR滤波器和极性配置。
Uriah 发表于 2025-5-22 07:42 | 显示全部楼层
我之前碰到类似的情况,最后是因为没enable SPI时钟,检查RCC和GPIO部分的初始化。
Clyde011 发表于 2025-5-22 07:43 | 显示全部楼层
你可以抓个波形看一下MOSI有没有变化,确认SPI有没有真正启动,排除空跑的问题。
dffzh 发表于 2025-5-22 13:32 | 显示全部楼层
直接用CubeMX配置,或者去官网找找看有木有例程。
flycamelaaa 发表于 2025-5-22 16:32 | 显示全部楼层
仅接收模式的设计初衷就是只接收数据而不主动发送时钟信号。
powerantone 发表于 2025-5-22 16:33 | 显示全部楼层
检查硬件连接和时钟配置。
stormwind123 发表于 2025-5-22 16:34 | 显示全部楼层
常规SPI通信应使用全双工模式,主机主动驱动时钟。
gaonaiweng 发表于 2025-5-31 18:20 | 显示全部楼层
在 STM32H7 的硬件架构下,SPI 主设备必须发起“发送”动作,才能输出 SCK。即使你只关心接收,对主机而言也得先“驱动一次传输”。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

29

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部