FLASH
问题描述:
在配置系统时钟时,如果不按照系统频率配置 FLASH的等待周期,系统将无法正
常运行。
解决办法:
按照参考手册打开 FLASH预取开关并正确配置 FLASH的等待周期:
0等待周期:0<SYSCLK≤24MHz
1等待周期:24<SYSCLK≤48MHz
默认等待周期为 0,如果需配置为 1周期,具体程序如下:
/* Enable Prefetch Buffer and set Flash Latency */
FLASH->ACR = FLASH_ACR_PRFTBE | FLASH_ACR_LATENCY;
PLL
问题描述:
配置系统时钟时,选择 PLL作为系统时钟,PLL输入源选择 HSI/2,PLL的倍频系
数配置为 2倍频,PLL不能锁定,程序无法正常运行。
解决办法:
当系统频率需要选为 8M时:
①有外部时钟,可以直接选择 HSE作为系统时钟;
②直接选择 HSI作为系统时钟。
TSC
问题描述:
使用 TSC模块时,如果初始化 TSC结束后再初始化 GPIO模块,TSC模块时钟会
关断。
解决办法:
使用 TSC模块时,先初始化 GPIO模块再初始化 TSC模块。
内部温度传感器
问题描述:
在使用 ADC的内部温度传感器进行相对温度测量时,根据计算公式,温度偏差很
大。
解决办法:
使用正确的参数进行温度计算。手册中计算温度公式如下:
温度(ºC)={(V25-VSENSE)/Avg_Slope}+25
这里 V25是指在 25 ºC时的数值,典型值为 1.599。
VREFINTRDY 位
问题描述:
PWR_CSR寄存器没有 VREFINTRDY位。
解决办法:
不需要查询 VREFINTRDY位,因为 MCU内核可以正常工作的时候 VREFINT参
考电压肯定是 ready的。
来源:物联网全栈开发