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 dinhthuong92Đấy, cái tôi thắc mắc là chỗ màu hồng ấy bạn, để áp vào cao chứ không bị sụt gần bằng áp pin thì rất cần cuộc cảm để làm điều đó. Tuy nhiên, trong công thức bác thớt dẫn không thấy mặt L, và một vài mạch MPPT tôi đã kiểm...
-
Channel: Nguồn!
Hôm qua, 10:01 -
-
bởi mèomướpDạ mạch sạc là 1 cục nguồn, nó sẽ điều chỉnh công suất đầu ra để có tổng trở bằng nội trở của pin ạ. Và cái cách nó chỉnh công suất đầu ra sẽ là dạng buck, boot. Đều cần đến cuộn cảm ạ. Tất nhiên chú thích thì có thể dùng dạng tuyến tính transistor để bù trừ nhưng mà nó đốt năng lượng vô ích ạ...
-
Channel: Nguồn!
08-05-2026, 16:26 -
-
bởi dinhthuong92Tng trở R của tải (gồm pin và mạch sạc) trong công thức đó rõ ràng khống có L xuất hiện. Nếu tính các dây dẫn thì rất nhỏ, bỏ qua. Vì nội trở pin là rất nhỏ, có thể nói luôn lớn hơn nội trở solar, nên mạch MPPT sẽ hầu như luôn tính...
-
Channel: Nguồn!
08-05-2026, 11:00 -
-
bởi dinhthuong92Chào bác. Đã là công thức phải tổng quát chứ, nó phải thể hiện cả quá trình, rối thì quá độ hay xác lập tính sau vì tùy điều kiện. Cũng như công thức tính diện tích chả hạn, phải là tích phân....
-
Channel: Nguồn!
08-05-2026, 10:49 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamCa sĩ AI cũng có vài loại, có ca sĩ chuyên và không chuyên.Ca sỉ chuyên thì là Synthesizer V, còn không chuyên thì là Suno. Ca sĩ chuyên thì mệt với nó lắm, phải biết nhạc và biết cả ngôn ngữ của nó để điều khiển, còn ca sĩ không chuyên thì...
-
Channel: Tâm tình dân kỹ thuật
04-05-2026, 21:33 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Chúc mừng bác có ca khúc hay tặng bà xã nhé! Nếu muốn hát đúng ý mình thì bác chịu khó... thuê ca sĩ nha!!!!😁😁😁...
-
Channel: Tâm tình dân kỹ thuật
04-05-2026, 15:43 -
-
bởi dinhthuong92Trong các công thức không có mặt L bạn. Trước mình nghĩ cứ phải có L cơ....
-
Channel: Nguồn!
04-05-2026, 15:35 -

Comment