前提:最近做项目时使用APM32F030C8T6替代STM32F030C8T6,代码使用的STM的标准库。
问题:在直接使用STM32的代码烧到APM32代码,其他功能能正常使用,但在使用串口时,会出现接受数据不全的情况,但在STM32上并没有出现这个情况。
解决方法:把flash等待周期的宏修改为2,把flash等待周期减慢
#define FLASH_ACR_LATENCY ((uint32_t)0x00000002) /*!< LATENCY bit (Latency) */
ps:如果使用极海的库,则需要修改寄存器FMC_CTRL1中的WS进行修改。