• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






Re: 請問要如何設定watchdog
#5
管理員
管理員


查看用戶資訊
您好,

基本上你的設定都對 , 但要用 MPLAB SIM 來觀察時間時要設定一下 "Debugger" 的某些選項才可以有較為正確的結果 !

dsPIC 的 SIM 在遇到很多情況都會 break , 包括週邊沒有輸入的信號源 ( ie. ADC ) 時都會 break , 故下面方法可取消某些會造成 break 的來源 :

1 : 在主功能表選擇 Debugger -> Setting -> 中找到 break options
2: 將第二項 Peripherals 的 Warnings 和 Errors 的動作都選 "Ignor".

這樣應該就可已在 Stop Watch 中看到在 WDTPSA & WDTPSB 不同設定下的 WDT Timeout 間隔 .

Best Regards,

發表於: 2005/1/12 19:40
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問要如何設定watchdog
#4
新會員
新會員


查看用戶資訊
謝謝前輩的指教,
但是若我想要觀看我設定watchdog的時間,為什麼我在SIM下分別設定成
1._FWDT(WDT_ON & WDTPSA_64 & WDTPSB_16);

2._FWDT(WDT_ON & WDTPSA_512 & WDTPSB_16);

其中參考書籍提到
//WDT period =2ms*prescalerA*prescalerB
理論上我1.與2.的清除時間應該會不一樣..為什麼我再MAPLAB下觀察到的時間都是1.2US呢?
而不是分別為2ms*64*16及2ms*512*16的時間呢?
我的震盪器是10MHz,倍8
觀念上有哪裡錯誤嗎?可否請教一下..
謝謝!

發表於: 2005/1/11 23:15
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問要如何設定watchdog
#3
版主
版主


查看用戶資訊
就如 Aaron 所言,在程式裡要清除 Watch-Dog Timer 只要使用巨集還數 Clrwdt ( ) 就可以了。

發表於: 2005/1/10 14:45
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問要如何設定watchdog
#2
高級會員
高級會員


查看用戶資訊
設定好WDT當然要自行清除WDT的計數值囉!在發生溢位之前使用 , 看你設定多長的時間之內 ,

ASM:
CLRWDT ; Clear Watchdog Timer
or
PWRSAV #0 ; Enter SLEEP mode
or
PWRSAV #1 ; Enter IDLE mode

C:使用巨集
#define ClrWdt() {__asm__ volatile ("clrwdt");}
#define Sleep() {__asm__ volatile ("pwrsav #0");}
#define Idle() {__asm__ volatile ("pwrsav #1");}

ClrWdt();
Sleep();
Idle();

發表於: 2005/1/10 11:45
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


請問要如何設定watchdog
#1
新會員
新會員


查看用戶資訊
如題:
我自己是這樣設定的
_FWDT(WDT_ON & WDTPSA_512 & WDTPSB_16); //Watchdog timer Enabled

這樣就程式就會自己清除watchdog 的旗標嗎?
不需要暫主程式內在撰寫一個watchdog的函式嗎?
為什麼我這樣設定,我的system都會有reset的動作呢?
我參考過相關的dsPIC family reference manaual設定,書中有提到這樣的設定,
1.On any device RESET
2.whan a PWRSAV instruction is execut
3.By a CLRWDT instruction during normal execution
其中PWRSAV與CLRWDT要怎麼在程式中撰寫呢?
程式可以正常判斷ㄇ?
請問有相關的範例程式ㄇ?謝謝

發表於: 2005/1/8 22:58
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------