最近使用dspic33E单片机,使用过程中出现异常复位,查看RCON寄存器为0x4000,复位原因为:
IOPUWR:非法操作码或访问未初始化的W寄存器复位标志位
1 = 检测到非法操作码、非法地址模式或将未初始化的W寄存器用作地址指针而导致复位
0 = 未发生非法操作码复位或未初始化的W寄存器复位
1.C语言编写的代码,未找到与上相关的复位原因(应该是对以上描述理解不深)。通过复位时间统计,复位时间每一次一致。
2.将运行代码最小化,主函数只有while(1),同样出现该问题,思考是不是配置文件问题。
3.逐个排查配置位,发现该单片机的程序监控定时器使能后,软件中是不可禁止的。
4.禁止程序监控定时器功能后,系统恢复正常,更改监控定时器的超时值,确认复位时间的对应性,问题得到确认并解决。