Tư vấn: 0979.466.469 / 0938.128.290

MENU

5 cách reset Arduino đơn giản

Gia cong pcb 600*150px

Tải lên nhiều dòng code có nhiều vòng lặp trong đó có thể gây ra nhiều lỗi. Tùy chọn duy nhất để gỡ lỗi thường là reset Arduino. Điện Tử Tương Lai sẽ hướng dẫn bạn 5 cách đơn giản để reset Arduino.

Thông qua phần cứng: 1) sử dụng nút reset; 2) chân reset; 3) nút reset bên ngoài; Hoặc thông qua phần mềm: 4) sử dụng chức năng reset; hoặc 5) phương pháp hẹn giờ theo dõi.

Nhưng những phương pháp đó cần phải được thực hiện hết sức cẩn thận, nếu không bạn có thể phá hỏng toàn bộ bo. Đến cuối bài viết này, bạn sẽ có thể reset Arduino của mình đúng cách mà không cần phải mua lại cái mới.

 

Reset Arduino là gì?

 

Reset bo mạch Arduino cũng tương tự như rút phích cắm và sau đó cắm lại.

Khi bạn reset Arduino, nó sẽ bắt đầu thực thi code từ dòng đầu tiên của chương trình bạn đã tải lên bằng cách xóa mọi thứ có trong ROM trước đó.

Nó tương tự như nhấn nút restart trên PC. Khi bạn khởi động lại máy tính, nó sẽ ngay lập tức kết thúc tất cả các quy trình đang chạy và khởi động lại hệ thống.

Tùy chọn reset trong Arduino cho phép bo mạch của bạn khởi động lại bằng cách reset chip vi điều khiển AVR được nhúng trong đó.

 

Tại sao bạn nên reset Arduino?

 

Mọi thứ có thể không phải lúc nào cũng diễn ra theo kế hoạch và chức năng reset sẽ cho phép Arduino của bạn bắt đầu thực hiện chương trình ngay từ đầu.

 

1. Để loại bỏ các lỗi nội bộ


Code bạn đang cố chạy có thể không hoạt động do lỗi trong Arduino. Tùy chọn reset cho phép bạn loại bỏ mọi lỗi bên trong bo.

 

2. Để thoát ra khỏi vòng lặp vô hạn


Nếu bo mạch Arduino ngừng phản hồi khi đang thực thi chương trình, điều đó có nghĩa là nó có thể bị mắc kẹt trong một vòng lặp vô hạn và không thể tự thoát ra được.

Bạn cần reset bo Arduino của mình để thoát khỏi vòng lặp đó, đây là một trong những lý do chính khiến mọi người sử dụng tùy chọn reset.

 

3. Khắc phục lỗi


Reset là tùy chọn đầu tiên xuất hiện trong đầu lập trình viên khi họ đang thực hiện một chương trình dựa trên Arduino. Đây là bước đầu tiên trong việc khắc phục lỗi và trong hầu hết trường hợp, reset bo mạch Arduino sẽ giải quyết được vấn đề.

 

Làm thế nào để reset Arduino?

 

Chúng ta có thể chia các phương pháp reset Arduino thành hai loại – phần cứng và phần mềm, có nghĩa là bạn có thể reset Arduino của mình thông qua bo mạch hoặc sử dụng Arduino IDE.

Hoặc đôi khi, bạn có thể cần thử cả hai phương pháp này để đảm bảo chương trình Arduino của bạn chạy hoàn hảo.

 

Reset Arduino thông qua phần cứng


Bạn có thể reset Arduino của mình thông qua phần cứng, tức là bằng cách sử dụng bo mạch Arduino. Dưới đây là một số cách đơn giản để làm điều này:

 

1. Sử dụng nút Reset


Bạn có thấy nút nhỏ màu cam được gắn trên bo mạch Arduino UNOkhông? Đó là cách đơn giản nhất để reset bo Arduino.
Hoặc nếu bạn có những bo khác, bạn vẫn có thể thấy một nút nhỏ được nhúng trên đó. Đó là nút reset. Nhấn nút này sẽ dừng mọi thứ đang diễn ra với bo mạch Arduino và đưa quá trình thực thi trở lại dòng code đầu tiên.

Quảng cáo đặt hàng nhập

2. Sử dụng chân Reset


Nếu bạn nhìn kỹ vào bo mạch Arduino, bạn sẽ nhận thấy một chân reset có trên nó ngay bên cạnh các chân nguồn.
Bạn có thể sử dụng chân này để reset bo mạch Arduino. Tất cả những gì bạn cần làm là tạo các kết nối phù hợp.

Đây là cách reset Arduino bằng cách sử dụng chân hoạt động:

Kết nối chân reset với một trong các chân I/O kỹ thuật số trên bo mạch (tốt nhất là chân 3,5).
Tải lên code reset bo mạch Arduino.

void setup() { // để trống }
void loop()
{
mySetup();
while (// kiểm tra điều kiện thoát ứng dụng tại đây )
{
// code vòng lặp ứng dụng ở đây
}
}
void mySetup() { //… bắt đầu ở đây }

Trong code, bạn cần đặt chân I/O kỹ thuật số (mà bạn đã kết nối với chân RESET, trong trường hợp này là chân 3,5) ở mức cao và khai báo nó là chân đầu ra.

Điều này có nghĩa là, khi chương trình bắt đầu thực thi, chân 3.5 sẽ tạo ra đầu ra mức logic cao và đưa nó vào chân RESET, chân này sẽ reset Arduino và nó sẽ bắt đầu chạy code từ dòng đầu tiên.

 

3. Thiết lập nút Reset bên ngoài


Trong trường hợp bạn không thể với tới nút reset trên bo mạch Arduino hoặc nếu có một shield đặt trên bo mạch, thì bạn cần thiết lập nút reset bên ngoài. Tất cả những gì bạn cần là một breadboard, một nút ấn và một cặp jumper cùng với bo mạch Arduino.

Đặt điện áp thấp trong ít nhất 2 micro giây cho chân RESET sẽ reset Arduino UNO, theo datasheet, điều đó có nghĩa là bạn cần đặt điện áp thấp cho chân RESET bằng nút ấn.

Bạn cần kết nối nút ấn ở trạng thái mở bình thường với một bên được kết nối với chân RESET và bên kia với GND. Ở vị trí bình thường, chân RESET sẽ ở mức cao, nhưng ngay khi bạn nhấn nút, nó sẽ kết nối với chân GND và do đó sẽ ở mức logic thấp.

 

Reset Arduino thông qua phần mềm


Trong trường hợp bo mạch Arduino không thể truy cập được đến mức bạn không thể thực hiện bất kỳ kết nối bên ngoài nào với nó, thì bạn cần biết cách reset bo mạch Arduino bằng Arduino IDE.

Dưới đây là một số cách đơn giản có thể giúp bạn reset bo mạch Arduino thông qua phần mềm.

 

4. Sử dụng chức năng reset


Cách dễ nhất để reset Arduino thông qua lập trình là sử dụng chức năng reset tích hợp sẵn resetFunc(), có sẵn trong thư viện Arduino. Tất cả những gì bạn cần làm là viết code và gọi chức năng reset tại vị trí địa chỉ 0.

Code này sẽ reset bo mạch Arduino và bắt đầu thực thi chương trình từ dòng code đầu tiên.

Phương pháp này là phương pháp đơn giản nhất vì nó không cần mạch bên ngoài, chỉ cần gọi một hàm để sử dụng.

 

5. Phương pháp hẹn giờ theo dõi


Một cách tuyệt vời khác để reset Arduino là sử dụng phương pháp hẹn giờ theo dõi. Phương pháp này sử dụng thư viện hẹn giờ theo dõi để reset Arduino trong trường hợp chương trình không phản hồi như bình thường và được nhà sản xuất chip AVR khuyến nghị. Do đó, đây là một trong những cách được ưa thích nhất để reset bo mạch Arduino.

Tệp header phải được bao gồm để bộ hẹn giờ theo dõi theo dõi hoạt động.

Đầu tiên, một bộ đếm thời gian cần được kích hoạt. Thời lượng hẹn giờ có thể thay đổi từ 15 mili giây đến 8 giây, tùy thuộc vào ứng dụng của bạn. Chẳng hạn, nếu bạn cần thiết lập bộ hẹn giờ trong 30 giây, thì bạn sẽ viết wdt_enable(WDTO_30ms).

Tương tự, bạn có thể thay đổi số giây và viết chúng thay cho '30ms'. Bộ đếm thời gian hoạt động bằng cách reset bộ vi điều khiển nếu chương trình mất nhiều thời gian hơn để thực hiện hơn bình thường.

Chẳng hạn, nếu chương trình chính cần 40 ms để chạy, bộ hẹn giờ theo dõi được thiết lập sao cho nếu chương trình chính mất hơn 40 ms để thực thi, thì bộ vi điều khiển sẽ được reset.

Nếu chương trình hoạt động bình thường, nó sẽ reset bộ đếm thời gian theo dõi trước khi chạm số không. Nếu chương trình bị treo trong một vòng lặp và không thể reset bộ đếm thời gian theo dõi, thì trong trường hợp đó, một ngắt được tạo ra để reset Arduino.

Bây giờ bạn đã biết những gì cần thiết để reset bo mạch Arduino, bạn có thể dễ dàng reset Arduino của mình nếu nó bị mắc kẹt trong một vòng lặp vô hạn hoặc ngừng phản hồi.

Gia công pcb 932*150
Sản phẩm nổi bật
Sale 0%
40000 /Cái
/ Cái

Code: 7204-238 Còn hàng

Lưu xem sau
Sale 0%
115000 /Cái
/ Cái

Code: 7004-022 Còn hàng

Lưu xem sau
Sale 0%
121000 /Cái
/ Cái

Code: M-7006-040 Còn hàng

Lưu xem sau
Sale 0%
9000 /Sợi
/ Sợi

Code: M-7006-052 Còn hàng

Lưu xem sau
Hỗ trợ liên kết
0979466469
0899909838
0938128290
0899909838
Khiếu nại: 0964238397
0979466469
0868565469
0868565469

Hotline: 0979 466 469

Loading
0964238397
Bạn cần linh kiện mẫu ? 7-11 ngày