设计需求:
1.使用STM8L152 的开发板平台测试IAP升级需要擦写FLASH
2.内部FLASH先全部清除,然后再根据串口接收的数据转存到内部FLASH中去。
设计方法:
1.MCU内部高速时钟配置
CLK_SYSCLKSourceSwitchCmd(ENABLE);//---------------------启用或禁用时钟切换执行
CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);//----------内部外部时钟信号 16M
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_2);//------------------二分频时钟信号
//while ( (CLK->SWCR&0x01) == 0x01 ); // stably
while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSI)
{//--------------------等待时钟稳定
}
2.串口配置
STM_EVAL_COMInit(COM1, (uint32_t)115200, USART_WordLength_8b, USART_StopBits_1,
USART_Parity_Odd, (USART_Mode_TypeDef)(USART_Mode_Tx | USART_Mode_Rx));
enableInterrupts();//--------------------允许总中断
/* Enable the USART Receive interrupt: this interrupt is generated when the USART
receive data register is not empty */
USART_ITConfi