Bác trả lời giúp em nhé, thanks to all
khi reset AVR bằng Watchdog thì giá trị các biến trong chương trình có bị xóa về 0 ??
Collapse
X
-
Tags: None
-
thì biến nào cần jữ thì anh lưu vào eeprom, đây là một jải pháp em nghĩ thế vì em cũng chưa biết j về watchdogNguyên văn bởi thanhtuandkh Xem bài viếtBác trả lời giúp em nhé, thanks to allThiết kế chế tạo các loại máy xoáy nắp, chiết rót định lượng dùng trong dược phẩm và thực phẩm.
-
Đúng. tất cả các biến global, static điều bị xóa về 0, trừ biến trong eeprom. Đương nhiên là biến local thì có giá trị ko xác định.Nguyên văn bởi thanhtuandkh Xem bài viếtBác trả lời giúp em nhé, thanks to all
Comment
-
Khi reset thì chỉ dời con trỏ về đầu chương trình (chương trình chạy từ đầu như mới cấp điện), nhưng do reset bằng watchdog, MCU không mất điện nên giá trị trong RAM không thay đổi. Nếu cấp điện lần đầu thì giá trị trong RAM không xác định.
Comment
-
Chính cbn xác.Nguyên văn bởi duc thang Xem bài viếtKhi reset thì chỉ dời con trỏ về đầu chương trình (chương trình chạy từ đầu như mới cấp điện), nhưng do reset bằng watchdog, MCU không mất điện nên giá trị trong RAM không thay đổi. Nếu cấp điện lần đầu thì giá trị trong RAM không xác định.
Tại sao chủ topic ko làm thử quả test mà lại post lên hỏi nhể. Cái này đơn giản chứ khó khăn giề.AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
Xem thêm tại Online Store ---> Click here
Mob: 0982.083.106
Comment
-
Suýt đúng.Nguyên văn bởi thavali Xem bài viếtĐúng là RAM ko mất điện nhưng các biến vẫn bị reset về 0. Mấy bạn cứ thử lại đi. Thử thì sẽ bít ngay kết quả, nhưng giải thích thì không đơn giản.
Khi code bằng CV cần chú ý CV tự động create đoạn start up code trong đó có đoạn xóa toàn bộ RAM về 0. Tuy nhiên nếu sử dụng đoạn code quản lý nguồn reset hoặc dùng startup code của riêng mình thì sẽ tránh được việc này.AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
Xem thêm tại Online Store ---> Click here
Mob: 0982.083.106
Comment
-
ko phải chỉ CodeVisionAVR mà là tất cả các C/C++ complier điều làm như thế, đó là nó phải start-up hệ thống trước khi go to main function, theo đó các biến sẽ được khởi tạo giá trị ban đầu (nói reset về 0 là ý nói các biến global hay static được khai báo mà ko khởi tạo thì mặc định giá trị khởi tạo là 0, theo C chuẩn). các biến local có giá trị ko xác định là do complier ko khởi tạo cho nó lúc start-up (có muốn cũng ko được) chứ ko phải do MCU được cấp nguồn lần đầu. Nhưng xu hướng các complier hiện đại (như IAR,...) thì các biến local nếu ko khởi tạo thì mặc định là 0 (complier thực hiện bằng cách xóa vùng data stack).
Tuy vậy, điểm khác biệt của watchdog với reset cứng là khi reset cứng giá trị các thanh ghi của MCU sẽ trả về giá trị default (thường là 0) , còn giá trị của các thanh ghi của MCU khi thực hiện watchdog reset ko bị thay đổi.
Comment
-
Gửi bạn thanhtuandkh .
Muốn để reset bằng tay hay dùng Watchdog mà các biến không bị về 0 thì khi cấu hình cho project bạn phải bỏ cái dòng clear global variables at program start up.
Comment
-
Hay quá như vậy thì có ấn reset bằng tay biến cũng không mất sao anh?Nguyên văn bởi binhminh Xem bài viếtGửi bạn thanhtuandkh .
Muốn để reset bằng tay hay dùng Watchdog mà các biến không bị về 0 thì khi cấu hình cho project bạn phải bỏ cái dòng clear global variables at program start up.Thiết kế chế tạo các loại máy xoáy nắp, chiết rót định lượng dùng trong dược phẩm và thực phẩm.
Comment
-
Chính xác.Nguyên văn bởi Le Thi Bich Xem bài viếtHay quá như vậy thì có ấn reset bằng tay biến cũng không mất sao anh?AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
Xem thêm tại Online Store ---> Click here
Mob: 0982.083.106
Comment
Bài viết mới nhất
Collapse
-
-
bởi bqvietĐám UPS cửa cuốn đời cổ vẫn chạy 1 biến áp sắt từ vừa để hạ áp điện lưới nạp bình điện, vừa để kích áp bình điện thành sóng vuông đầu ra đấy thôi. Kiểu tiết kiệm này đã có từ mấy chục năm nay. Sơ đồ đại loại như link
https://www.homemade-circuits.com/si...rchargerchang/...-
Channel: Nguồn!
06-09-2026, 16:49 -
-
bởi dinhthuong92Không biết nó thiết kế kiểu gì mà dùng chung được cuộn cảm L cho cả mạch Buck hạ áp để sạc pin và Boost nâng áp cho Led. Muốn vẽ mạch để xem mà nhiều linh kiện quá, e không kham nổi!
Bác nào có sơ đồ xin up lên cho mọi người tham khảo nhé!...-
Channel: Nguồn!
04-09-2026, 11:09 -
-
-
Trả lời cho TCL - Tập hợp các vấn đề về màn hình màu TCLbởi dtvankhoeBác nào có file rom này cho em xin em cảm ơn ạ TCL L43S6500 – TPD.RT2841.PB772
-
Channel: Điện tử truyền hình
30-08-2026, 21:08 -

Comment