hongya 发表于 2007-4-24 11:12:07

avr m16 的软件复位指令是什么?

avr m16 的软件复位指令是什么?我想在程序中内嵌一条复位指令,以此来引起mcu的复位。

hongya 发表于 2007-4-24 11:24:50

请各位高手指点,不胜感激!

whimsy 发表于 2007-4-24 12:19:55

怎么没人关注,我想应该是跳转到jmp 0000H的指令就是了,或者让狗复位

ssyniuej 发表于 2007-4-24 18:03:20

最好打开看门狗,用狗来复位,当然跳到地址0也可以,但那种方式可能造成堆栈出现问题。

ghost2 发表于 2007-4-24 18:06:16

reti

jmp 0000H

machao 发表于 2007-4-24 18:20:47

AVR没有软件复位指令!jmp 0000h只能表示程序从头开始运行,但复位操作的功能没有。在复位操作过程中,所有的寄存器要设置成复位的初始状态的。



解决方法:

1。如果你的程序在开始阶段对全部的寄存器都做了正确的初始化设置,那么可以用jmp 000H模拟复位。



2。将一个空余的I/O口与RESET脚连接,需要时,使用指令在I/O端口输出“0”,将RESET拉低,产生真正的复位。

hongya 发表于 2007-4-24 19:24:50

谢谢各位的指点,我现在使用i/o口连接RESET并拉低,产生复位。

nt_zxy 发表于 2007-7-24 15:40:44

请问I/O口与RESET脚连接时,是直接相连?还是经过一个电阻,若经过电阻,该电阻一般选多大阻值的?

zhiwei 发表于 2007-7-24 19:33:59

打开狗,然后饿死它就可以了。

bhdxzgp 发表于 2007-7-24 21:15:23

新手,学习中!

dugutianma 发表于 2009-11-24 22:24:03

mark

滴答滴答下雨啦 发表于 2013-11-21 12:51:51

学过了……

hxd 发表于 2013-11-22 12:19:16


新手,学习中。。。
页: [1]
查看完整版本: avr m16 的软件复位指令是什么?