请教张教主

[复制链接]
2120|2
 楼主| ayb_ice 发表于 2007-12-22 14:02 | 显示全部楼层 |阅读模式
HCS08内核没有软件复位功能(SFR的某位置1则产生相当于外部复位的效果)。HCS08执行未定义指令时会产生复位,所以我想利用这来产生模拟软件复位功能,但是编译器产生提示错误,放弃了编译,请教张教主有没有什么好的方法实现软件复位功能。<br />先谢谢了。
张明峰 发表于 2007-12-22 20:56 | 显示全部楼层

简单:

软件人工生成一条非法指令即可。<br /><br />void&nbsp;ForceReset(void)&nbsp;<br />{<br />&nbsp;&nbsp;&nbsp;byte&nbsp;illegalCode[2];<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;illegalCode[0]&nbsp;=&nbsp;0x9e;<br />&nbsp;&nbsp;&nbsp;illegalCode[1]&nbsp;=&nbsp;0x10;&nbsp;//illegal&nbsp;instruction<br />&nbsp;&nbsp;((void&nbsp;(*)(void))illegalCode)();&nbsp;&nbsp;&nbsp;<br />}<br /><br />更多方式请看<br /><a href="http://www.myhcs08.com/blog/info/article_detail.aspx?id=282" target=_blank>http://www.myhcs08.com/blog/info/article_detail.aspx?id=282</a>
 楼主| ayb_ice 发表于 2007-12-24 10:05 | 显示全部楼层

谢谢

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

本版积分规则

222

主题

15494

帖子

34

粉丝
快速回复 在线客服 返回列表 返回顶部