我正在使用 PIC16F877a,我需要在不使用按钮的情况下进行程序重置。当我查看数据表和引用设计时,MLCR 引脚上有一个按钮。如果按下按钮,则 MCU 被重置。但是我需要可以用C代码控制的复位,我不想使用复位按钮。还有其他方法吗?
最佳答案
PIC 8 位 MCU 有一条软件复位汇编指令:
RESET
http://microchip.wikidot.com/8bit:rst
您将不得不使用内联汇编。我从未对 PIC 使用内联汇编,但来自 this page看起来这是 MPLAB 的正确语法:
void soft_reset(void)
{
_asm
reset
_endasm
}
请注意,如链接页面所述,外部看门狗定时器通常是触发完整系统重置的更好方法。使用软复位,外部设备不会同时复位。使用外部 WDT,您只需停止抚摸看门狗,然后它就会重置整个电路板。
关于c - 16PIC877A 用 C 代码复位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41395154/