Tình trạng
Khi bạn nạp code cho arduino nano, IDE sẽ hiển thị là Uploading... rất lâu sau đó báo lỗi:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x5c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x5c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x5c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x5c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x5c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x5c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x5c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x5c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x5c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x5c
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
Hoặc
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x74
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x89
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x6d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x55
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xbf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xba
Khắc phục
Nguyên nhân 1. Có thể chip ATmega không có bootloader hoặc bootloader hỏng. Với trường hợp này cần phải nạp hoặc cập nhật lại boot loader. Để nạp lại boot loader bạn phải có mạch nạp USBasp hoặc dùng một mạch Arduino khác như Arduino UNO để nạp. Có thể xem thêm bài viết "Dùng mạch nạp USBasp để nạp code cho Arduino".
Nguyên nhân 2. Một số chip Atmega trên arduino nano phiên bản cũ có boot loader sử dụng tốc độ baudrate là 57600 khi nạp, trong khi boot loader phiên bản mới hơn sử dụng baudrate là 115200. Trong trường hợp này, để khắc phục, bạn chọn Tools > Processor > Atmega328P (Old bootloader) sau đó nhấn nút upload để xem có nạp được không.
Nguyên nhân 3. Về căn bản khi thấy thông báo "programmer is not responding" có nghĩa là Arduino IDE không thể giao tiếp được với chip Atmega. Trường hợp này xảy ra khi bạn chọn không đúng cổng COM hoặc driver của giao tiếp COM có vấn đề. Như bạn biết Arduino IDE giao tiếp với Atmega thông qua một chip serial trung gian. Các board arduino phiên bản gốc thì giao tiếp serial là chip Atmega 16u2, đối với các board clone thì sử dụng chip CH340G. Cho nên, bạn cần kiểm tra lại driver cho CH340G nếu trên board arduino của bạn dùng chip này cho giao tiếp serial.
Đây là hình ảnh của cửa sổ Device Manager cho thấy bạn chưa có driver cho chip CH340G
Đây là hình ảnh của cửa sổ Device Manager cho thấy bạn đã có driver cho chip CH340G
Driver của CH340G có thể tải về tại đây, chạy file exe để cài đặt như hình dưới đây
Hãy chia sẻ trường hợp của bạn bị lỗi như thế nào và cách khắc phục được / hoặc không được bằng cách comment ở dưới nhé! Có thể comment của bạn sẽ hữu ích cho nhiều người khác nữa.
Nếu bạn muốn đọc sách về arduino thì có thể tải về từ đay nhé:
ko cos ATmega328P(old bootloader ) thif lamf sao
ReplyDeleteTrên Processor không có ATmega328P( old bootloader ) nhỉ
ReplyDeleteBoard của bạn có phải là Arduino Nano không? Trường hợp nạp không được này là của board Arduino Nano nhé. Bạn phải chọn Tools > Board là Arduino Nano, thì khi đó sẽ có menu cho old bootloader.
ReplyDeleteKhông thấy mục Processỏ luôn. :v
ReplyDeleteBạn phải mở Tools > Board, rồi chọn board trước thì mới thấy mục Processor được.
DeleteMình bị tình trạng này trên LGT8F328P, mong bác cho cao kiến ạ
ReplyDeleteBạn thử xem bài viết này https://minhcnguyen.blogspot.com/2021/02/Board-LGT8F328P-LQFP32-MiniEVB-giao-tiep-led-TM1637-dung-Arduino-va-cai-ket.html. Trong bài viết có đề cập đến việc nạp code cho board LGT8F328P
Deletemình làm y hệt và coppy cả đoạn code để nạp nhưng vẫn xảy ra lỗi trên, đã thử xoá đi cài lại vẫn không đc, bác dùng bản Arduino IDE bản bao nhiêu vậy ạ?
DeleteMình dùng Arduino IDE 1.8.13 thấy nạp ok, chưa lần nào bị trường hợp như vậy. Không biết board của bạn có phải là board LGT8F328P-LQFP32-MiniEVB giống như trong blog của mình luôn không?
DeleteBạn thử vô Tools > Programmer rồi chọn "LGTSWD mkII as ISP" xem có xi nhê gì không
DeleteBoard của mình giống y chang, từ thông số tới hình ảnh. Mình có 2 board, 1 board nạp được 1 lần xong từ đó cũng bị lỗi, reset không được. Mình cắm board mới để nạp cũng xảy ra lỗi tương tự. Mình đã thử chọn những board khác nhau rồi nạp, có khi nào đó là nguyên nhân gây brick không nhỉ
ReplyDeleteNghĩa là board đã từng nạp được, có thể trong code bạn đã dùng đến chân nào đó liên quan đến phần giao tiếp nạp code. Bây giờ thử lại bằng board mới, nạp code blink led thôi, thử nạp đi nạp lại vài lần xem code blink led có nạp ok không.
DeleteCòn đối với board bị brick thử như này coi sao: nhấn đồng thời cái nút upload ở arduino ide và cái nút reset trên board. Hoặc thử nhấn giữ nút reset trên board, sau đó nhấn nút upload trên arduino ide rồi thả nút reset ra liền. Thử các kiểu xem sao.
Mình nạp được rồi, cảm ơn bạn!
ReplyDeleteCảm ơn bạn đã ghé thăm, nhớ xem thêm bài mới nhé https://minhcnguyen.blogspot.com/2021/03/arduino-leonardo-co-chuc-nang-usb-host.html
DeleteTôi cũng gặp trường hợp này với arduino pro mini. Chả là mua promini cho mạch nó gọn, ai dè lại bị lỗi vậy, còn dùng với arduino nano thì load bình thường, trơn tru.
ReplyDeleteCách giải quyết cho promini cũng giống như trên nano luôn bạn
Delete