孤独将一 发表于 2013-5-22 10:57:12

ATMEGA16 有重启命令吗?

本帖最后由 孤独将一 于 2013-5-22 11:14 编辑

1:写个指令,单片机就重启了。有吗?
2: 不goto,看门狗不用。我暂时不知道哪处导致死机了

xiaodao35 发表于 2013-5-22 11:08:19

1.goto 2.看门购溢出

孤独将一 发表于 2013-5-22 11:15:09

xiaodao35 发表于 2013-5-22 11:08 static/image/common/back.gif
1.goto 2.看门购溢出

改了。有吗

hygbeyond 发表于 2013-5-22 11:43:22

用的是什么编译器,如果是avr-gcc
extern void __vectors(void);

__verctors(); //复位

techbaby 发表于 2013-5-22 11:46:16

hygbeyond 发表于 2013-5-22 11:43 static/image/common/back.gif
用的是什么编译器,如果是avr-gcc
extern void __vectors(void);



void (*reset)(void) = (void (*)(void) )0;

reset();

是不是也可以?

孤独将一 发表于 2013-5-22 11:51:33

hygbeyond 发表于 2013-5-22 11:43 static/image/common/back.gif
用的是什么编译器,如果是avr-gcc
extern void __vectors(void);



我用的gcc。这是__vector();就重启了?????????

hygbeyond 发表于 2013-5-22 11:58:51

我就是用这个办法实现的,你可以看看map文件就知道怎么回事了

hygbeyond 发表于 2013-5-22 12:00:48

刚开始我也用的是goto实现的,总是有问题,特别是换到48的时候。用这个函数后基本上没有遇到了

qjs412_avr 发表于 2013-5-22 12:22:15

试试这条,肯定能用
((void (*)(void))0x00000000)();       

孤独将一 发表于 2013-5-22 12:28:51

qjs412_avr 发表于 2013-5-22 12:22 static/image/common/back.gif
试试这条,肯定能用
((void (*)(void))0x00000000)();

牛。。。。。。。好

qjs412_avr 发表于 2013-5-22 10:57:13

孤独将一 发表于 2013-5-22 12:28 static/image/common/back.gif
牛。。。。。。。好

那莫元是不是给我啊{:lol:}

mitchell 发表于 2013-5-22 14:14:08

qjs412_avr 发表于 2013-5-22 12:22 static/image/common/back.gif
试试这条,肯定能用
((void (*)(void))0x00000000)();

重启,但外设不会复位。需注意下外设初始化代码。
页: [1]
查看完整版本: ATMEGA16 有重启命令吗?