音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

2114看門狗問題,大家?guī)臀覝y試一下這個程序

作者:robinsun 欄目:ARM技術(shù)
2114看門狗問題,大家?guī)臀覝y試一下這個程序
存在的問題:是不是外部中斷影響看門狗?我現(xiàn)在一旦有外部中斷發(fā)生,程序就
重啟。

1,   按下KEY1 程序會重新啟動,打印出Do your best!

2,   禁止看門狗之后,程序運行正常,按下KEY1 會打印出00



(用2100的開發(fā)板,按下KEY1是表示有外部中斷。)

測試的時候別忘了修改 startup.s 文件中的
;設(shè)置系統(tǒng)模式堆棧
        ;MSR     CPSR_c, #0xdf
        MSR     CPSR_c, #0x5f
        LDR     SP, =StackUsr
來容許中斷。





#include "config.h"


#define  CR       0x0D
#define  UART_BPS 115200

#define RUN                1 //定義鍵值
#define SET_TIME           2
#define MANUAL_OPERATION   3

#define MAIN_VALVE         4
#define RAIN_DEALY         5
#define WATER_BUDGET       6
#define SOAK_SETTING       7

#define ANY_CYCLE          8
#define WEEK_CYCLE         9
#define MONTH_CYCLE        10

#define START_TIME         11
#define PERSIST_TIME       12

#define ARROW_UP           13
#define ARROW_DOWN         14
#define SWITCH_F           15
#define STATION_NUM        16

#define K1    (1<<16)    //key1 連接P1.16,為0時是gpio
#define K2    (1<<17)    //key1 連接P1.17
#define K3    (1<<18)    //key1 連接P1.18
#define K4    (1<<19)    //key1 連接P1.19
#define K5    (1<<29)    //key1 連接P1.20
#define K6    (1<<21)    //key1 連接P1.21
#define K7    (1<<22)    //key1 連接P1.22
#define K8    (1<<23)    //key1 連接P1.23
#define K9    (1<<24)    //key1 連接P1.24
#define K10   (1<<25)    //key1 連接P1.25

#define K11   (1<<10)    //key1 連接P0.10
#define K12   (1<<11)    //key1 連接P0.11
#define KEY1  (1<<12)    //key1 連接P1.12
#define KEY2  (1<<13)    //key1 連接P1.13
#define KEY3  (1<<15)    //key1 連接P1.15
#define KEY4  (1<<17)    //key1 連接P1.17

uint8 KeyValue,FlagKeyPressed;

/******************************************
* 名稱    :  void  Rst_Wdt(void)
* 功能描述:  看門狗喂狗操作
* 輸入?yún)⒘?  無
* 輸出參量:  無
* 調(diào)用子程:  無
* 使用方法:
--------------—*/
void  Feed_Dog(void)
{
   //uint8 i;
   WDFEED = 0xAA;
   //i++;
   WDFEED = 0x55;
   //i=0;

}


/******************************************
* 名稱    :  void DelayNS(uint32 dly)
* 功能描述:  延時程序
* 輸入?yún)⒘?
* 輸出參量:
* 調(diào)用子程:
* 使用方法:
--------------—*/
void DelayNS(uint32 dly)
{
    uint32 i;
    Feed_Dog();
    for(;dly>0;dly--)
        for(i=0;i<50000;i++);
        Feed_Dog();
}

/******************************************
* 名稱    :  int PutCHAR (int ch)   
* 功能描述:  發(fā)送一個字符
* 輸入?yún)⒘?  無
* 輸出參量:  無
* 調(diào)用子程:  無
* 使用方法:
--------------—*/
CHAR PutCHAR (CHAR ch)  
{                 
  if (ch == '\n')  
  {
    while (!(U0LSR & 0x40));
    U0THR = CR;                      /* OUTPUT CR */
  }
  while (!(U0LSR & 0x40));
  return (U0THR = ch);
}



/******************************************
* 名稱    :  void Puthexbyte(int hex)  
* 功能描述:  將數(shù)據(jù)用16進(jìn)制的格式表示
             例如數(shù)據(jù)puthexbyte(0x16)將向串口送出0x31  0x36,如果用串口工具的文本模式將看到"16"
* 輸入?yún)⒘?  無
* 輸出參量:  無
* 調(diào)用子程:  無
* 使用方法:
--------------—*/
void Puthexbyte(CHAR hex)
{  
     CHAR i;
    i=(hex>>4);
    if (i<=9)  PutCHAR(0x30+i);
        else PutCHAR (0x37+i);
    i=(hex&0x0F);    
    if (i<=9)  PutCHAR(0x30+i);
        else PutCHAR (0x37+i);
}

/******************************************
* 名稱    :  void Prints (uint8 *p)  
* 功能描述:  打印一串字符
* 輸入?yún)⒘?  無
* 輸出參量:  無
* 調(diào)用子程:  無
* 使用方法:
--------------—*/
void Prints (CHAR *p) {                    /* Write string */
  while (*p)
  {
    PutCHAR (*p++);
  }
}




/******************************************
* 名稱    :  void Watchdog_Init(void)
* 功能描述:  看門狗部分的初始化
* 輸入?yún)⒘?  無
* 輸出參量:  無
* 調(diào)用子程:  無
* 使用方法:
--------------—*/
void Watchdog_Init(void)
{
     //WDTC = 0x5F0000;                        // 設(shè)置WDTC,喂狗重裝值
     WDTC = 0x2000000;                        // 設(shè)置WDTC,喂狗重裝值
   WDMOD = 0x03;                    
2樓: >>參與討論
liaosicong
我也遇到這種問題,后來發(fā)現(xiàn)是這個原因
喂狗不能太快,這個可能是PHILIPS的一個bug或一個特殊的地方吧。你隔長一點喂就沒問題了。

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
緊急求教周工!
請問周工 2104的串口級連的問題。
請問周工 2104串口數(shù)據(jù)位后面的那位是怎么用的??
請問周工一個2200開發(fā)板的一個問題?
求救!!!!在2200開發(fā)板上TCP/IP實驗問題
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號