打印

请教张教主

[复制链接]
1146|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ayb_ice|  楼主 | 2007-12-22 14:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
HCS08内核没有软件复位功能(SFR的某位置1则产生相当于外部复位的效果)。HCS08执行未定义指令时会产生复位,所以我想利用这来产生模拟软件复位功能,但是编译器产生提示错误,放弃了编译,请教张教主有没有什么好的方法实现软件复位功能。
先谢谢了。

相关帖子

沙发
张明峰| | 2007-12-22 20:56 | 只看该作者

简单:

软件人工生成一条非法指令即可。

void ForceReset(void) 
{
   byte illegalCode[2];
   
   illegalCode[0] = 0x9e;
   illegalCode[1] = 0x10; //illegal instruction
  ((void (*)(void))illegalCode)();   
}

更多方式请看
http://www.myhcs08.com/blog/info/article_detail.aspx?id=282

使用特权

评论回复
板凳
ayb_ice|  楼主 | 2007-12-24 10:05 | 只看该作者

谢谢

后来我又整了一下,好象可以实现,但硬件仿真的时候不太对劲,不是直接重新运行,而是有些提示,有时又重新运行,不知什么原因。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

222

主题

15417

帖子

34

粉丝