开发环境:stvd+cosmic,使用stm8s208开发CAN通讯,对很少的数据进行读写都没有问题,但是当进行大量的数据传输的时候(包括读写ram和读写FLASH),有时候(3、4次会出现1次的概率)就会出现程序复位的情况,本以为是由于看门狗复位,可是程序并没有开启看门狗,于是调试查看RST_SR寄存器,当出现复位的时候,该寄存器后四位变为0100,也就是非法操作码复位。。。。。
这是个什么复位呀?手册上也没说清楚,“如果一个被执行的代码与任意操作码或预置字节均不相符,则产生一个复位”。。。不懂额,这个复位是什么情况下会产生的?又是怎么才能避免这个复位呢?软件出问题的可能性大一些还是硬件的问题大一些???
求解。。。 |