Nhiều người mới tìm thấy lỗi này avrdude: stk500_getsync(): not in sync: resp 0x00 trong khi tải chương trình lên bo mạch.
Trước khi bắt đầu kết luận lỗi, trước tiên chúng ta hãy phân tích cách hoạt động của arduino.
Upload chương trình Arduino hoạt động như thế nào?
Bo mạch Arduino về cơ bản bao gồm ba thành phần chính.
ATmega328p hoặc tương tự
Bộ chuyển đổi USB sang serial
Nguồn điện 5V
Trong hầu hết các trường hợp, chương trình được tải lên bằng cáp USB hoặc sử dụng bộ chuyển đổi serial sang USB bên ngoài.
Lý do lỗi 1: Chip ATmega328p trống
Khi bạn mua vi điều khiển mới như ATmega328p. Nó hoàn toàn trống rỗng. Để lập trình bằng arduino, bạn cần có USB-ASP (bộ lập trình dựa trên SPI) như bên dưới.
Lý do 1: Bạn đang lập trình bằng cách sử dụng serial của arduino với bộ điều khiển trống.
Flashing boot-loader Arduino sang ATmega328p mới.
Kết nối usbasp programmer với arduino.
Chọn Bo từ Tools >> Boards >> Arduino UNO
Chọn usbAsp programer từ Tools >> Programmers >> USBASP
Nhấp vào Tools >> Burn Bootloader
Sau khi tải lên bootloader, bạn có thể sử dụng cổng serial / usb để lập trình arduino của mình.
Lý do lỗi 2: Nguồn điện
Khi sử dụng bộ chuyển đổi USB2Serial bên ngoài, có thể bạn chưa kết nối + 5V với bộ vi điều khiển hoặc kết nối không chính xác của Rx TX.
Lý do lỗi 3: Thiết bị ngoài trên đường Rx Tx
Bạn đã kết nối thiết bị bên ngoài trên chân Rx Tx, tức là chân 0 và chân 1 của Arduino.
Loại bỏ hoặc ngắt kết nối bất kỳ mạch nào có trên đường Rx Tx và thử lại.
Lý do lỗi 4: Chọn sai cổng
Bạn đã chọn sai cổng serial. Vào menu Tools >> Ports và chọn cổng thích hợp.
hoặc lựa chọn bo không chính xác.
Lý do lỗi 5: Thiếu driver
Nếu bạn không tìm thấy cổng serial chính xác, hãy kiểm tra xem bạn đã cài đặt đúng bộ chuyển đổi USB sang serial hoặc driver Arduino chưa. Đối với Windows, hãy tìm bất kỳ dấu hiệu màu vàng nào (cho biết lỗi) trên các cổng serial.
Các giải pháp phổ biến để sửa lỗi
Ngắt kết nối và kết nối lại cáp USB.
Nhấn nút reset trên bo.
Khởi động lại Arduino IDE.
Đảm bảo bạn chọn đúng bo trong Tools ► Board ►, ví dụ: Nếu bạn đang sử dụng Duemilanove 328, hãy chọn nó thay vì chọn Duemilanove 128. Bo sẽ cho biết nó đang ở phiên bản nào trên vi mạch.
Đảm bảo rằng bạn đã chọn đúng cổng trong Tools ► Serial Port ►. Một cách để biết nó đang ở cổng nào là làm theo các bước sau:
Ngắt kết nối cáp USB.
Đi tới Tools ► Serial Port ► và xem những cổng nào được liệt kê (ví dụ: COM4 COM5 COM14).
Kết nối lại cáp USB.
Quay lại Tools ► Serial Port ► và xem cổng nào đã xuất hiện trước đây chưa từng có.
Đảm bảo các chân số 0 và 1 không có bất kỳ bộ phận nào được kết nối, kể cả bất kỳ shield nào.
Lý do lỗi 6: Bộ điều khiển bị hỏng
Cũng có trường hợp bạn đã làm cháy bộ vi điều khiển của mình. Hãy suy nghĩ thử bạn có làm bất cứ điều gì nguy hiểm ngay trước khi bạn tải lên một sketch mới không?
Lý do lỗi 7: Sử dụng bộ chuyển đổi USB bên ngoài sang serial
Khi sử dụng bộ chuyển đổi serial sang USB bên ngoài, bạn cần kết nối chân RTS của bộ chuyển đổi usb2serial với chân reset của bộ vi điều khiển thông qua tụ điện 0,1uF (104).
Bạn cần bốn chân từ bộ chuyển đổi serial bên ngoài RX, TX, GND và RTS - || - với tụ điện 0,1uF kết nối một đầu của tụ điện với chân RTS và đầu kia với chân reset của vi điều khiển.
Lý do lỗi 8: Quyền Windows 10
Thử chạy Arduino IDE ở chế độ administrator.
Lý do lỗi 9: thạch anh bên ngoài bị thiếu hoặc bị lỗi
Kiểm tra xem hầu hết các bo mạch Arduino sử dụng thạch anh 16MHz hoặc 8MHz, nếu bạn đang thử với chip mới, đây là lỗi phổ biến. Sử dụng thạch anh 16MHz cho ATmega328p với Arduino UNO boot-loader.
Đây là những lỗi phổ biến nhất gây ra lỗi avrdude: stk500_getsync(): not in sync: resp=0x00
Hotline: 0979 466 469