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 GargiChào mọi người, tôi đang gặp một vấn đề kỹ thuật và muốn được nghe ý kiến của mọi người.
Tôi đã lắp một đĩa xích vào trục đầu ra của hộp số hành tinh bánh răng xoắn dùng cho truyền động xích. Sau vài tháng hoạt động, ổ bi đầu ra bị hỏng.
Bản thân...-
Channel: Điện tử công suất
hôm nay, 13:22 -
-
bởi vi van phamSau hàng chục năm, không biết có ai còn nghĩ gì về tôi? Riêng tôi, nhớ nhiều về dientuviet nam. net. Ngày ấy tìm 1 người bạn đam mê về điện từ khó như trúng số độc đăc. Tôi đã trúng số độc đắc khi được mời về dientuvietnam.net...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 22:43 -
-
bởi FotiniChào mọi người.
Cấu trúc khung giàn của tôi sử dụng một động cơ servo tích hợp trên mỗi trục (https://www.oyostepper.es/category-8...integrado.html), với một dây nối đất chung.
Việc kích hoạt từng trục riêng lẻ hoạt động tốt, nhưng...-
Channel: Điện tử dành cho người mới bắt đầu
18-06-2026, 14:03 -
-
Trả lời cho Cấu hình chiến game "quốc dân" cho nền tảng AM5: Lựa chọn tối ưu ngân sách với Ryzen 5 7500Fbởi kumarbrMình đồng ý với hướng build AM5 bằng 7500F, nhưng nếu có thể cố thêm ngân sách thì nên lên RX 7600 ngay từ đầu. 4GB VRAM của RX 6500 XT bắt đầu khá chật với nhiều game mới, còn RX 7600 sẽ dùng thoải mái hơn trong vài năm tới.
-
Channel: Đánh giá sản phẩm DTVN
16-06-2026, 15:49 -
-
bởi theidiotcatTrong thời buổi vật giá leo thang, việc sắm một bộ máy tính chơi game đáp ứng đủ tiêu chí "ngon, bổ, rẻ" là ưu tiên hàng đầu của nhiều bạn trẻ. Lúc này, combo sử dụng vi xử lý AMD Ryzen 5 7500F kết hợp cùng card màn hình Radeon...
-
Channel: Đánh giá sản phẩm DTVN
16-06-2026, 10:16 -
-
bởi theidiotcatAMD Ryzen 9 9950X3D không chỉ là một bộ vi xử lý đơn thuần; nó là lời khẳng định về sức mạnh của kiến trúc Zen 5 kết hợp cùng công nghệ 3D V-Cache đột phá. Trong bối cảnh thị trường linh kiện PC cạnh tranh khốc liệt, đây được xem...
-
Channel: Đánh giá sản phẩm DTVN
15-06-2026, 09:21 -
-
bởi theidiotcatBộ đôi Ryzen 9 9950X3D2 và Radeon RX 9070 XT 16GB là sự kết hợp phần cứng cao cấp nhất của AMD hiện nay. Đây không chỉ là một dàn máy tính để giải trí thông thường, mà là công cụ làm việc mạnh mẽ dành cho những ai có nhu cầu xử lý cường...
-
Channel: Đánh giá sản phẩm DTVN
15-06-2026, 09:09 -

Comment