STM32G4芯片SPI1 CLK管脚AF Mode自动变化为0的问题

1 问题描述 

最近在调试SPI Slave程序,遇到一个很奇怪的问题:单步调试时SPI1 CLK管脚AF Mode自动变化为0;但是在管脚初始化时,已经将其配置为5了。

2 问题现象

通过视频可见:

STM32G4芯片SPI1 CLK管脚AF Mode自动变化

  • 在11秒前,AFRL3=0x05,其由218行LL_GPIO_SetAFPin_0_7函数配置。

STM32G4芯片SPI1 CLK管脚AF Mode自动变化为0的问题_第1张图片

  • 在12秒,step into LL_GPIO_SetPinMode 函数后,AFRL3突然自己变成0x00了。

STM32G4芯片SPI1 CLK管脚AF Mode自动变化为0的问题_第2张图片

3 问题排查

排查过程比较折腾,反复尝试做了很多测试和实验,怀疑过代码的问题,也怀疑过破解软件的问题,也联系了ST的FAE寻求帮助,这里不展开聊了。

4 问题原因

使用高版本IAR打开低版本软件创建的工程时,会提示格式是老的,需要转换。如下图所示:

STM32G4芯片SPI1 CLK管脚AF Mode自动变化为0的问题_第3张图片

IAR软件将低版本工程转换为高版本工程时,会存在问题。

5 总结和建议

当更新IAR版本后,为了避免出现一些奇怪的问题。针对老版本的工程,不要直接转换,最好的办法是直接重新创建新工程。

你可能感兴趣的:(STM32,stm32,单片机)