0 问题描述
本文使用的stm32H743是V版本,支持最高480MHz的主频。但在将主频设置为480MHz之后,使用FDCAN的回环模式出现了各种接收不到的异常问题。经过一番排查,将主频修改到400MHz,同时降低芯片内部LDO输出电压后恢复了正常。
要想stm32H743稳定使用,请保证以下2点:
(1)将主频修改为400MHz。
(2)LDO稳压器输出的电压选择VOS1(480MHz时是VOS0),语句如下:
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
stm32H743即使是V版本,也不要将主频设置到480MHz,否则会有各种头疼和意想不到的问题(在实际使用过程中,将主频提高到480MHz,温度上升将近10℃,一些外设也出现了令人费解的问题),为了稳定和省事起见,还是老老实实将主频设置为400MHz。
PS: 怎么确认stm32H743的版本
参见《stm32h743参考手册》,版本信息需要读取地址为0x5C001000寄存器获知:
0x5C001000寄存器定义如下:
上面的中文参考手册出的时候还没有版本V,版本V的值是0x2003(见下图)。
本文使用的stm32H743从0x5C001000寄存器读出来的值为:0x20036450,也就是版本V。