PDA

View Full Version : Watchdog timer


galacticos
04-09-2007, 03:13 PM
Em mới chập chững làm PIC. Mong các bác chỉ giáo dùm em
Các bác làm ơn cho em hỏi về cái Watchdog timer trong PIC nó có công dụng gì kô zia.
Theo em nghỉ thì nó chỉ để báo tràn thôi đúng kô.
Em đang lám báo cáo tổng quan về PIC, bác nào co tài liệu share cho em với nha.Nếu có tiếng việt càng tốt, vì tiếng anh em xoàng lắm!!!
Cảm ơn các bác nhiều

bk_future
04-09-2007, 03:22 PM
Watch dog timer là 1 bộ đếm dùng để đếm.Nó có công dụng tránh các vòng lặp chết và cài đặt thời gian tự động reset lại VĐK.
Ví dụ như trong lập trình,do không cẩn thận hoặc do sự đột ngột phát sinh nên vi điều khiển của bạn bị đứng trong một vòng lập không bao giờ kết thúc(vòng lặp chết).Bạn nên khắc phục sự cố này bằng cách khởi tạo bộ đếm watch dog timer.Nó hoạt động như là timer vậy.Nhưng khi cờ tràn của Watch dog timer được bật thì VĐK sẽ tự động reset lại.trong lập trình bạn.phải cập nhật số đếm mới thường xuyên để watch dog timer ko bị tràn.trong các vòng lặp sẽ không nạp số đếm mới.và vòng lặp phải có thời gian nhanh gọn,để không bị watch dog timer báo tràn trong xử lí vòng lặp.
Chúc vui

galacticos
05-09-2007, 12:36 PM
Cảm ơn bạn đã trả lời. Mình cũng đã hiểu sơ bộ vê WDT.
Nhưng mình còn thắc mắc nhỏ, nó dựa vào đâu để xác định được tràn.
Nếu khi reset thì nó có trở lại vòng lặp nữa kô.

bien_van_khat
05-09-2007, 08:56 PM
Nhưng mình còn thắc mắc nhỏ, nó dựa vào đâu để xác định được tràn.
WDT là 1 timer, vậy bạn biết timer hoạt động như thế nào chứ?
Nếu khi reset thì nó có trở lại vòng lặp nữa kô.
Tùy loại reset nhưng tất cả các reset đều khiến bộ đếm chuơng trình quay trở lại lại địa chỉ 0h, nói không chính xác lắm là trở về điểm đầu tiên của chương trình của bạn.

bk_future
17-09-2007, 05:44 PM
1/Bộ timer nào cũng thế,có 1 bộ đếm riêng và khi tràn thì nó bật cờ tràn lên,khi bật cờ tràn thì khởi động ngắt và reset lại mcu
2/Câu này bạn hỏi hơi wá sơ đẳng thì phải,khi mà reset thì địa chỉ thanh ghi DTPTR sẽ là 00000000 làm gì mà có vụ trờ lại vòng lặp !!!!