首先你要說明你用的是哪款PIC的單片機和用哪個C編譯器。
PIC有中低端的八位單片機PIC10/12/16的,高端的八位單片機PIC18系列,1十六位單片機PIC24和dsPIC,還有一個PIC32是三十二位的。上述的都可以通過調用宏指令CLRWDT();來實現喂狗。
但他們的宏指令的聲明一般都是在各自的頭文件中,比如根據他們的數據手冊PIC10/12/16系列的宏指令聲明都在htc.h文件中,pic.h裡我還沒試過。
而PIC18我用過的是MPLAB C18編譯器,其聲明宏指令的頭文件是這個芯片的名稱,如PIC18F4680.h。
而PIC24我用的是MPLAB C30編譯器我是直接根據數據手冊的要求在C文件裡定義宏的:
#define ClrWdt() {__asm__ volatile ("clrwdt");}
而前面的八位單片機的C語言也可以用下列嵌入匯編的方法: asm("CLRWDT");