你好。
当我在 S32K148 微控制器中调用 SPI_Init 时,CLK 信号的电平将从高电平变为低电平。但是,在软件中,我将 CLK 配置为具有初始高电平输出的 GPIO 推挽输出。同时,我还进行了软件上拉配置和硬件上拉。为什么只有在尝试通过 SPI 发送任何数据后 CLK 电平才会恢复到原始状态?您能提供一些故障排除方法吗?6fd994bdc6fe2788c73ef5857447af6a.png
HI.@VaneB
我不想手动控制 CLK 引脚。我仍然希望 CLK 引脚由 SPI 元器件自动控制。但是,我的问题是,我已将IDLE状态下的CLK引脚设置为高电平,并且最初还将端口中的SPI0_CLK引脚配置为高电平。从理论上讲,CLK 引脚应从 SPI 初始化完成后一直保持高电平,直到第一次通信到来。但目前的现象是,从 SPI 初始化完成到第一个通信到来之前,CLK 引脚一直处于低电平状态。以下是我的配置。请检查是否有任何错误。
你好@嵌入式新手
根据您的描述,您似乎想手动控制 CLK 引脚,而不是让 SPI 模块来管理它。是这样吗?
能否提供您当前的配置,以便我们检查是否有任何错误或遗漏的设置?另外,您是否尝试过 Spi_Transfer_S32K148,看看行为是否发生了变化?
BR、VaneB
你好@嵌入式新手
很抱歉造成了误解,感谢您的澄清。
由于 CLK 引脚由 SPI 驱动器管理,因此在端口驱动程序中没有必要将其配置为高电平。
我使用 S32K148EVB 和 Spi_Transfer_S32K148 示例进行了测试。我修改了配置,使 CLK 引脚由端口驱动器驱动为高电平,并将 SpiShiftClockIdleLevel 设置为高电平。做出这些更改后,我没有观察到您所描述的行为。能否请您尝试运行经过这些修改的相同示例,并告诉我在您的设置中行为是否发生了变化?
你好@嵌入式新手
您使用的是哪个版本的软件?我使用的是 RTD 3.0.0 版。
你好@嵌入式新手
您使用的软件版本较旧。我们建议更新到最新版本,这样可以避免已知问题,并获得所有最新的修复和改进。