|
各位大佬,今天看到一個(gè)程序,如下
#include<STC89C5x.h>
#define LED P2
sfr WDTRST = 0xA6;
sbit key = P3^1;
/*------------------------------------------------
喂狗
------------------------------------------------*/
void Rst_Watchdog( void )
{
WDTRST = 0x1E; //先賦值1E 然后賦值E1
WDTRST = 0xE1;
}
/*------------------------------------------------
主函數(shù)
------------------------------------------------*/
void main( void )
{
int i;
// 設(shè)置看門(mén)狗時(shí)間為1個(gè)時(shí)鐘循環(huán)后
Rst_Watchdog();
//關(guān)看門(mén)狗一個(gè)時(shí)鐘循環(huán)
for( i = 0; i < 500; i++)
{
Rst_Watchdog();
}
LED=0x00;
while(!key) //按下按鍵不松開(kāi),表示程序一直在按鍵處循環(huán),
//并用LED顯示0x55
{
LED=0x55; //模擬出錯(cuò) 正常情況應(yīng)該一直顯示LED,
//但是加看門(mén)狗之后不間斷復(fù)位,倒是LED閃爍
}
}
其中將看門(mén)狗WDTRST地址定位0xa6,但是P2的地址為0xa0,實(shí)際使用時(shí)P2口微亮,請(qǐng)問(wèn)這兩個(gè)地址是不是沖突?如何解決?
重新定義WDTRST就報(bào)錯(cuò)new 1.c(92): error C202: 'WDTRST': undefined identifier
求教?!
|
|