找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 7160|回復(fù): 0
收起左側(cè)

獨(dú)立看門(mén)狗及喂狗時(shí)間

[復(fù)制鏈接]
ID:262 發(fā)表于 2014-10-24 14:03 | 顯示全部樓層 |閱讀模式
stm32的看門(mén)狗初始化配置步驟:
1. 先把IWDG_PR 和IWDG_RLR 兩個(gè)寄存器寫(xiě)操作使能。
2. 配置IWDG預(yù)分頻值,4到256,最大為256。
3. 設(shè)置IWDG重裝載寄存器的重裝載初值,0x00到0xFFF。
4. 按照IWDG重裝載寄存器的值重裝載IWDG計(jì)數(shù)器。
5. 使能IWDG,即打開(kāi)看門(mén)狗。

例如,初始化獨(dú)立看門(mén)狗,并且配置喂狗時(shí)間大約3S左右:
  IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable) ;  //使能或者失能對(duì)寄存器IWDG_PR 和IWDG_RLR 的寫(xiě)操作
  IWDG_SetPrescaler(IWDG_Prescaler_64);  //設(shè)置IWDG 預(yù)分頻值,取值范圍:4,8,16,32,64,128,256,最大為256
  while(IWDG_GetFlagStatus(IWDG_FLAG_PVU) == RESET) ; //預(yù)分頻器更新中
  IWDG_SetReload(0x753);   //設(shè)置IWDG 重裝載值   取值范圍:0x00~0x0FFF
  IWDG_ReloadCounter();    //按照IWDG 重裝載寄存器的值重裝載IWDG 計(jì)數(shù)器
  while(IWDG_GetFlagStatus(IWDG_FLAG_RVU) == RESET) ; //重裝載值更新進(jìn)行中
  IWDG_Enable();     //使能IWDG
  //喂狗時(shí)間計(jì)算公式,Tout=((4*2^prer)*rlr)/40  單位ms(因?yàn)閮?nèi)部RC振蕩不穩(wěn)定,所以計(jì)算出來(lái)的喂狗時(shí)間也是個(gè)大概時(shí)間,不精確)      Tout:益出時(shí)間也就是至少多長(zhǎng)時(shí)間喂狗一次         prer:分頻系數(shù)0~7(低3位有效)  rlr:重裝載寄存器值(低12位有效)
  //(4*2^prer)是分頻系數(shù)值,即預(yù)分頻值
  //如果配置預(yù)分頻值為64,且3000ms左右喂狗一次,則可以計(jì)算出重裝載寄存器值:3000=((4*2^4)*rlr)/40=64*rlr/40由此公式可以算出來(lái)寄存器值rlr=1875,換算成16進(jìn)制為0x753




回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表