Bác trả lời giúp em nhé, thanks to all
Thông báo
Collapse
No announcement yet.
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
-
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 Nexus 6Pe dùng KiCad 9.0 và đã xuất được file PDF mạch in gòi bác...
-
Channel: Điện tử công suất
Hôm qua, 16:25 -
-
bởi bqvietBấm chuột vào các tệp sẽ bật ra chương trình tương ứng. Nên dùng bản KiCAD sau
https://kicad-downloads.s3.cern.ch/a...ll_version.exe-
Channel: Điện tử công suất
Hôm qua, 14:57 -
-
bởi Nexus 6Pe cài KiCAD 2012 khi mở ra nó chỉ hiện ntn...
-
Channel: Điện tử công suất
Hôm qua, 11:20 -
-
bởi bqvietThực tế bạn nào không tải được tệp nén thiết kế thì căn cứ theo ảnh sơ đồ mạch có thể vẽ lại sơ đồ bằng chương trình EDA nào đó rồi làm mạch được mà. Càng thêm quen thuộc với sơ đồ. Sau đó tùy ý chuyển sang TinySwitch-III hoặc TinySwitch-4.
-
Channel: Điện tử công suất
02-02-2026, 21:13 -
-
bởi Nexus 6PCó ai có bản in của mạch in không, cho em xin file để đi in với ạ
-
Channel: Điện tử công suất
02-02-2026, 14:37 -
-
bởi Nexus 6PLink hư rồi ạ, xin lại link của bản thiết kế cũ ạ...
-
Channel: Điện tử công suất
02-02-2026, 10:48 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Dạ, cảm ơn bác đã nghe qua và có lời khích lệ cháu ạ.
Thật lòng cháu không dám nhận hai danh hiệu Kỹ sư và Nhạc sĩ đâu ạ, vì phải thật hiểu sâu nắm vững cơ, chứ thực lực cháu đây chỉ là biết chút ít thôi à. Về phần...-
Channel: Tâm tình dân kỹ thuật
29-01-2026, 11:58 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietĐơn giản thì có trải nghiệm này
http://www.dientuvietnam.net/forums/...ch%C3%AA%CC%81
Chỉ phần cứng,...-
Channel: Điện tử công suất
27-01-2026, 21:32 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pphức tạp quá, nếu mà có mạch làm sẵn thì ngon, e dùng 2 tấm pv loại 18v 55w thôi bác
-
Channel: Điện tử công suất
26-01-2026, 08:52 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pcảm ơn bác nhiều nha, để e nghiên cứu
-
Channel: Điện tử công suất
26-01-2026, 07:38 -

Comment