使用
STM32L152系列整体功能正常,不加入读保护的时候LED1,正常运行,当加入读保护后,程序下进去,关机开机后,LED1,不亮,程序供电没有问题,发现程序根本就不执行了,感觉
单片机锁死了。 研究好几天了,希望大家帮忙看看吧。代码如下
void Flash_RProt_ENABLE(void)
{
u8 status;
FLASH_Unlock();//解锁FLASH
FLASH_OB_Unlock();//解锁选项字
FLASH_ClearFlag(FLASH_FLAG_EOP|FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_SIZERR | FLASH_FLAG_OPTVERR);
status=FLASH_OB_GetRDP();
if(status==0)
{
FLASH_OB_RDPConfig(OB_RDP_Level_1);//Read protec
tion of the memory
FLASH_OB_Lock();
FLASH_Lock();
}
}
int main(void)
{
Flash_RProt_ENABLE();
Main_Init();//时钟初始化,IO口初始化
while(1)
{LED1_OPEN() }
}
程序下进去后,如果不断电程序运行正常,但是一断电程序就运行不了了,也不能仿真了,得用软件将程序的FLASH读保护擦除,才可以继续仿真下载程序
我用J-FLASH-ARM软件加入读保护,遇到的问题是一样的,下进去后在一开机程序运行不了了。
一周热门 更多>