首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

怎么实现HCS12单片机的软件复位

怎么实现HCS12单片机的软件复位

我想在程序里用指令实现HCS12单片机的复位,怎么实现呢?


我用JMP $FFFE  不行啊。其中FFFE是系统复位的地址

水泡泡
 我的QQ是:52449804 
 我的网站是: www.dyic.com.cn
 欢迎访问和留言跟我联系
可使用非法指令强制系统复位
C代码如下:

const char illegalOp[]={0x8D}; /*非法指*/
typedef void (*tFunc)(void); /*指向函数的指针类型*/
void (*illegalOpFunc)(void) = (tFunc)illegalOp; /*指向非法指令的函数指针*/

#define SelfReset() (*illegalOpFunc)()


需要复位时,调用SelfReset()即可。
高!
slaxh.com
我试验了并不好用啊,执行后程序死机,停在了SelfReset()执行的那句上,程序并不复位重头开始运行啊
水泡泡
 我的QQ是:52449804 
 我的网站是: www.dyic.com.cn
 欢迎访问和留言跟我联系
那就试试这个方法吧

void SelfReset(void)
{
DisableInterrupts;
COPCTL=0b01000001; /*打开看门狗*/
while(1); /*等待看门狗复位*/
}

前面那个程序在HC08上可以。
返回列表