avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
AVR Dude là gì và tại sao nó lại không cho bạn tải sketch lên Arduino? Lỗi này xuất hiện vì nhiều lý do. Trong bài viết này, Điện Tử Tương Lai sẽ chia sẻ các giải pháp khả thi. Chúng ta sẽ bắt đầu từ những lỗi phổ biến và dễ dàng nhất và chuyển sang các giải pháp khắc phục sự cố chi tiết hơn nếu bạn vẫn không giải quyết được.
Vậy avrdude và lỗi avrdude: stk500_recv() là gì?
AVRDude là một tiện ích được sử dụng bởi Arduino IDE. Nó là viết tắt của AVR Downloader Uploader và nó cho phép bạn tải mã lên bo Arduino. Lỗi avrdude: stk500_recv() là do lỗi kết nối chung giữa máy tính của bạn và Arduino và có thể do nhiều sự cố khác nhau.
Dưới đây là những cách xử lý:
Thử ngắt kết nối và kết nối lại cáp USB. Vâng, chỉ đơn giản vậy thôi!
Bo Arduino của bạn có nút reset trên đó. Nhấn nút reset và xem liệu bạn có thể tải lên mà không gặp lỗi avrdude: stk500_recv () hay không.
Đóng Arduino IDE và mở lại. Tin hay không tùy bạn, nhưng cách này hiệu quả trong một số trường hợp!
Đảm bảo bạn đã chọn đúng bo Arduino. Trong IDE Arduino, đi tới Tools -> Board và từ danh sách, hãy chọn bo Arduino bạn đang sử dụng.
Kiểm tra để đảm bảo rằng bạn đã chọn đúng port. Trong Arduino IDE, vào Tools -> Port và chọn port tương ứng với bo của bạn. (Trên PC, nó sẽ bắt đầu bằng COM, trên MAC, nó sẽ bắt đầu bằng cu.usb). Nếu bạn không chắc đâu là port phù hợp, chỉ cần ghi lại tất cả các port được liệt kê, ngắt kết nối bo Arduino của khỏi cáp USB, sau đó kiểm tra lại menu port. Bất kể port nào bị thiếu, là port mà Arduino đang sử dụng.
Các chân nhận (RX) và truyền (TX) trên Arduino (chân 0 và 1) được sử dụng khi upload sketch trên bo Arduino. Nếu bạn có bất kỳ kết nối nào với các chân đó, hãy kéo ra trước khi tải lên bo.
Nếu bạn có Arduino shield được gắn vào bo Arduino, hãy tháo shield và thử tải lên lại. Vì shield có thể có một mạch can thiệp vào các chân truyền và nhận.
Bạn vẫn bị lỗi avrdude: stk500_recv()?
Đã đến lúc bắt đầu khắc phục sự cố! Nếu không có giải pháp nào ở trên có hiệu quả thì vẫn có một số tùy chọn để thử!
Nó có thể là bo Arduino, máy tính hoặc cáp USB.
Kiểm tra cáp USB
Hãy thử sử dụng cáp USB khác và xem liệu bạn có thể tải lên mà không gặp lỗi avrdude: stk500_recv () hay không. Tôi biết đây có vẻ như là một điểm không thể xảy ra, nhưng bạn có thể ngạc nhiên về tần suất cáp USB bị lỗi.
Kiểm tra bo Arduino khác
Nếu bạn có sẵn một bo Arduino khác, hãy thử tải sketch lên đó. Nếu bạn gặp lại lỗi avrdude: stk500_recv(), thì rất có thể sự cố là do máy tính. (Xem sự cố với máy tính bên dưới)
Nếu bạn có thể tải sketch lên bo Arduino khác thì đó có thể là bo Arduino đầu tiên gặp vấn đề. (Xem sự cố với Arduino bên dưới)
Kiểm tra máy tính khác
Nếu bạn có một máy tính khác được tải Arduino IDE, hãy thử sử dụng máy tính đó để tải sketch lên bo Arduino. Trước tiên, hãy đảm bảo rằng bạn đang thử tất cả các bước khắc phục sự cố ở trên nếu bạn gặp lỗi avrdude: stk500_recv()
Nếu bạn có thể tải lên Arduino, thì sự cố có thể xảy ra với máy tính. (xem sự cố với máy tính bên dưới).
Nếu bạn gặp lỗi trên máy tính khác, thì sự cố có thể xảy ra với bo Arduino (xem sự cố với Arduino bên dưới).
Vấn đề với máy tính
Cài đặt lại Arduino IDE
Nếu bạn thấy rằng sự cố xảy ra với máy tính, hãy thử cài đặt lại Arduino IDE. Nó không khó lắm. Chỉ cần truy cập trang web Arduino, tải xuống phiên bản IDE mới nhất và cài đặt lại. Điều này không ảnh hưởng đến các sketch cũ của bạn, được lưu trữ trong folder sketchbook.
Cài đặt lại driver
Nếu bạn vẫn gặp lỗi avrdude: stk500_recv(), bạn có thể kiểm tra xem bạn đã cài đặt đúng tất cả các driver chưa. Chúng được cài đặt tự động khi bạn cài đặt Arduino IDE, nhưng bạn luôn có thể thử cài đặt theo cách thủ công. Ngoài ra, nếu bạn xài Arduino clone, thì có khi nó yêu cầu driver đặc biệt (hãy kiểm tra công ty sản xuất bo mạch để tìm driver).
Vấn đề với Arduino
Đây là lúc mọi thứ trở nên phức tạp hơn một chút. Có thể là bo mạch Arduino của bạn đã bị brick (là thiết bị điện tử có thể nói là bị hỏng theo cách không cho phép sửa chữa).
Kiểm tra vị trí đặt bộ vi điều khiển
Nếu bạn có bo Arduino có chip vi điều khiển có thể tháo rời, như Arduino UNO, bạn có thể kiểm tra xem nó có được đặt đúng vị trí trên bo mạch hay không.
Bootloader
Có thể bootloader (một chương trình trên bộ vi điều khiển cho phép các sketch của bạn chạy) đang gặp sự cố. Bạn có thể ghi một bootloader mới trên vi điều khiển.
Bộ vi điều khiển dự phòng
Nếu bo mạch bị lỗi được đề cập là Arduino với bộ vi điều khiển có thể tháo rời, bạn luôn có thể hoán đổi một bộ vi điều khiển khác. Bạn phải tải bộ vi điều khiển bằng bootloader.
Hy vọng những giải pháp trên giúp bạn giải quyết được lỗi avrdude: stk500_recv() của mình.
Hotline: 0979 466 469