|
大家遇到过么:MSP430 Flash 总复位 这是什么原因
[复制链接]
今天写的FLASH程序,从主函数开始,每当运行到关于的FLASH操作语句(如FCTLx控制寄存器)时,单片机将自动复位,从头开始。这是什么原因,大家遇到过吗?
部分程序如下:
//初始化FLASH指针
unchar data;//用于存放数据
unchar *Ptr=(unchar *)0x1080; //指针Ptr指向地址0x1082
// FCTL2 配置时钟
FCTL2|=FWKEY+FSSEL_2+FN1;//SMCLK;分频2+1 349KHZ
// FCTL3 锁定位及其他状态标志位的操作
FCTL3|=FWKEY; //清除锁定位
//FCTL1 配置FLASH工作模式
FCTL1|=FWKEY+ERASE;//擦除模式
*Ptr=0;//空写,启动擦除
FCTL1|=FWKEY+WRT;//正常写模式
_DINT();//关总中断
//向1082H地址写入数据
*Ptr=1;
while(FCTL3&BUSY);//等待操作完成
_EINT();
FCTL1|=FWKEY; //退出写状态?
FCTL3|=FWKEY+LOCK;//恢复FLASH 锁定
//读取地址1082H的数据 并由1602显示
data=*Ptr;
|
|