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 mèomướp1. Tìm hiểu đc thì càng tốt, bận thì thôi. Ko cần quá quan trọng
2. Số tự động cho đơn giản, kiểu như đi xe ga ấy ạ
3. Học lý thuyết tử tế ok
4.ok
5.có. đủ số km, tgian cầm lái là đc
6.đi ăn tập thể,...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 16:34 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi lvhnE nhớ bác Vivanpham làm bên điện tử y sinh, có lần đó cái sơ đồ máy chụp x quang sao có mấy con thryristor làm gì mà ko ai trả lới đúng cả
...
-
Channel: Tâm tình dân kỹ thuật
07-08-2026, 09:17 -
-
Trả lời cho Amply bị rò DC 22 voltbởi lvhnBác kiểm tra lại đường mạch, mối hàn xem có bị hở hoặc dẫn không tốt không?
Thay cầu diode lớn hơn càng tốt không vấn đề gì cả....-
Channel: Điện thanh
07-08-2026, 09:12 -
-
bởi LantheChào bạn.
Trục đầu ra của hộp số hành tinh xoắn ốc được kết nối với mặt bích của khách hàng thông qua một trục răng trong. Sau chưa đầy sáu tháng hoạt động, nó phát ra tiếng kêu lách cách và độ rơ lớn đáng báo động.
Việc...-
Channel: Thiết bị điện tử cá nhân
06-08-2026, 13:05 -
-
bởi ittcChào các anh em nhé, mình dự định sắp tới sẽ đi học lái xe Ôtô, thi lấy bằng lái. Cụ thể mình sẽ học và thi lấy giấy phép lái xe hạng B. Thật sự mình là người chưa có kiến thức hiểu biết gì về Ôtô cả ? tất nhiên mình sẽ phải...-
Channel: Tâm tình dân kỹ thuật
-
-
Trả lời cho Amply bị rò DC 22 voltbởi trung30000Theo sự hướng dẫn của bác, sau khi em kiểm tra tầng Vi sai sử dụng cặp c1815, tiếp đến là 1 con a1013, và cặp thúc sử dụng mje304g và mje305g, em đã tiến hành thay cặp Vi sai c1815 sau đó mở máy lên đo ngõ công suất DC 0,2V hai giây sau máy đo...-
Channel: Điện thanh
05-08-2026, 20:09 -

Comment