Trước đó, avrdude: stk500_getsync (): không đồng bộ hóa: resp = 0x00,


98

Tôi đã thực hiện một chương trình tuyệt vời vào ngày khác và tôi muốn tải nó lên Arduino của mình. Sau khi nhấp vào nút tải lên, một số anh chàng có nghĩa là avr xuất hiện và ngăn tôi lại, nói:

avrdude: stk500_getsync (): không đồng bộ hóa: resp = 0x00

Tất cả những gì tôi muốn làm chỉ là tải lên chương trình của mình, nhưng sẽ không cho phép tôi. Anh ta thậm chí không thể hiểu được, vì vậy ai đó có thể cho tôi biết anh ta đang cố nói gì và làm thế nào để thoát khỏi anh ta?


I E:

Bất cứ khi nào tôi cố gắng tải chương trình lên Arduino của mình, tôi nhận được thông báo lỗi này:

avrdude: stk500_getsync (): không đồng bộ hóa: resp = 0x00

Điều này có nghĩa là gì, và làm thế nào tôi có thể sửa nó?


4
Thông báo lỗi khá phổ biến, không phải lúc nào cũng tầm thường để giải quyết: Electronics.stackexchange.com/
Kẻ

12
Tiêu đề đẹp! Tôi đã có lỗi đó ...
TheDoctor

6
+1 cho tiêu đề: D ... Tôi thực sự ghét anh chàng này nhiều như bạn đã làm!
David Refoua

Hãy thử cài đặt trình điều khiển (cp2102) cho arduino. Điều đó đã giúp tôi ra ngoài. Cảm ơn các câu trả lời trước ppl :-)

Bài đăng tháng 6 năm 2018 này đã giải quyết nó cho tôi (câu trả lời đầu tiên): arduino.stackexchange.com/questions/51729/iêu
Michael Sims

Câu trả lời:


62

Điều này được gây ra bởi một lỗi kết nối chung giữa máy tính của bạn và Arduino và có thể xuất phát từ nhiều vấn đề cụ thể khác nhau.

Dưới đây là một số điều dễ dàng thường có thể khắc phục lỗi này:

  • Ngắt kết nối và kết nối lại cáp USB.
  • Nhấn nút reset trên bảng.
  • Khởi động lại Arduino IDE.
  • Đảm bảo bạn chọn đúng bảng Tools ► Board ►, ví dụ: Nếu bạn đang sử dụng Duemilanove 328, hãy chọn bảng đó thay vì Duemilanove 128. Bảng sẽ cho biết đó là phiên bản nào trên vi mạch.
  • Hãy chắc chắn rằng bạn đã chọn đúng cổng Tools ► Serial Port ►. Một cách để tìm ra cổng đó là gì bằng cách làm theo các bước sau:
    1. Ngắt kết nối cáp USB.
    2. Đi đến Tools ► Serial Port ►và xem cổng nào được liệt kê (ví dụ COM4 COM5 COM14).
    3. Kết nối lại cáp USB.
    4. Quay trở lại Tools ► Serial Port ►và xem cổng nào xuất hiện mà trước đó không có.
  • Đảm bảo rằng các chân kỹ thuật số 0 và 1 không có bất kỳ bộ phận nào được kết nối, bao gồm bất kỳ tấm chắn nào.

Nếu không có cách nào trong số đó hoạt động, bạn sẽ muốn thử cách ly vấn đề bằng cách thay thế mọi thứ: thử một máy tính khác trên cùng một arduino, thử một arduino khác trên cùng một máy tính và thử sử dụng cáp USB khác.

Nếu sự cố xảy ra với máy tính:

  • Kiểm tra kỹ tất cả các sự cố liên quan đến máy tính trong danh sách "sửa chữa dễ dàng" ở trên.
  • Cài đặt lại IDE.
  • Cài đặt lại trình điều khiển.

Nếu vấn đề là với Arduino:

  • Kiểm tra kỹ tất cả các vấn đề liên quan đến bảng trong danh sách "sửa chữa dễ dàng" ở trên.
  • Hãy chắc chắn rằng vi điều khiển được đặt đúng.
  • Bạn có thể cần ghi bootloader .
  • Thay thế vi điều khiển nếu bạn có một cái khác tiện dụng gần đó.
  • Bạn có thể đã gạch Arduino của bạn. Lấy làm tiếc :(

3
Có những nguyên nhân có thể khác. Bạn có thể đã làm hỏng ATmega, bạn có thể đã làm hỏng bộ tải khởi động trên ATmega, bạn có thể gặp sự cố về điện hoặc vô số khả năng khác. Đây not in sync: resp=0x00thực sự là một thông điệp "ATmega không phản hồi" chung chung. Bất cứ điều gì có thể khiến ATmega không phản hồi có thể gây ra nó.
Sói Connor

Vì vậy, tôi không thể có bất cứ điều gì trong 0 hoặc 1 bao giờ?
Tim

2
@Tim Bạn có thể kết nối các công cụ với các chân đó, nhưng bạn phải ngắt kết nối chúng nếu bạn muốn giao tiếp với Arduino thông qua cáp USB.
Chàng trai với chiếc mũ

Tôi đã gặp lỗi này trên Duemillanove đầu tiên của tôi nhiều năm trước. Đó là một con chip UART đã chết (hoặc kết nối từ USB đến chip UART). Rất bực bội. Tôi đã mua một lập trình viên AVR và ghi bộ tải khởi động. Mua một CPU khác với bộ tải khởi động được tải sẵn. Không phải cho đến khi nhà cung cấp gửi một sự thay thế mà tôi có thể tham gia vào thế giới của những người hâm mộ Arduino (và bây giờ tôi có hai CPU dự phòng).
linhartr22

"Ngắt kết nối và kết nối lại cáp USB" hoạt động với tôi
Grace Shao

20

Một cách khắc phục khác:

Thay đổi Tools->Processor->Atmega 328Pthành Atmega 328P (Old Bootloader). Nhắc nhở rằng Processortùy chọn chỉ khả dụng khi bạn chọn một số Bảng cụ thể tại Tools>Board.

Điều này đã làm việc cho Arduino Nano của tôi với CH340, sử dụng Arduino IDE 1.8.5 trong Linux Ubuntu 17.10. Ngoài ra, điều này có thể sẽ xảy ra nếu bạn sử dụng IDE 1.8.9 hoặc mới hơn và bạn nhận được một Nano cũ hoặc nhân bản.


3
Đó là giải pháp! Bộ tải khởi động mới sử dụng hai lần tốc độ baud (115200 thay vì 57600).
Suuuehgi

1
Câu trả lời của bạn khắc phục vấn đề của tôi. Cảm ơn bạn!
Vladyslav Savigan

12

Thật không may, nó cũng có thể có nghĩa là bạn đã đốt vi điều khiển của mình. Bạn đã làm bất cứ điều gì nguy hiểm ngay trước khi bạn cố gắng tải lên một bản phác thảo mới? Là vi điều khiển vẫn hoạt động, với bản phác thảo được tải trước đó?


10

Nếu không có bước nào ở trên hoạt động, hãy thử cài đặt lại Avrdude và trình biên dịch avr-gcc. Tôi đã phải làm điều này sau khi Mega của tôi bắt đầu chịu đựng điều này.

Nếu bạn đã cài đặt Avrdude và avr-gcc riêng biệt, chỉ cần gỡ cài đặt chúng. nếu không, bạn có thể phải cài đặt lại Arduino IDE. Các bước này sẽ phụ thuộc vào hệ điều hành của bạn.


Rất khó có khả năng vấn đề sẽ được gây ra do chuỗi công cụ được sử dụng. Điều này là quá cực đoan, IMO.
asheeshr

3
Đó là cách duy nhất tôi có thể giải quyết vấn đề của mình
TheDoctor

Quá trình cài đặt này bạn đang nói về cái gì? Công cụ chỉnh sửa arduino chỉ được giải nén. Không có quá trình cài đặt.
Sói Connor

9

Tôi đã có cùng một thông điệp. Mỗi lần giải quyết bằng cách chọn đúng cổng, tức là USB trong menu Công cụ rồi Cổng. Đó là một bước đơn giản nhưng tôi luôn quên. Tôi sẽ rút phích cắm Arduino để dừng chương trình hiện tại, cắm lại vào máy tính của tôi để tải lên chương trình mới và nhận được lỗi, hoảng loạn, nguyền rủa, và chỉ sau đó, hãy nhớ.


1
Tôi nghĩ rằng đây là giải pháp phổ biến nhất.
gà con

9

Trong trường hợp của tôi, tôi đã không kết nối chân RTS của chip FTDI với một tụ điện đi đến chân RST của Arduino Pro Mini. Khi tôi cài đặt kết nối này, tôi không còn gặp lỗi nữa và tôi đã có thể tải lên mã.

Nick Gammon giải thích điều này trong diễn đàn của mình . Tôi đã thêm một hình ảnh về nơi / cách đặt tụ điện. nhập mô tả hình ảnh ở đây


+1 cho hình ảnh đẹp của hookup lập trình usb trực tiếp vào chip atmega.
raddevus

Tôi cũng có một số kết nối xấu trên bảng của mình, tôi đã rút tất cả mọi thứ và tải lên một bản phác thảo cơ bản và nó đã hoạt động. Bây giờ hãy tìm xem cáp nào không đúng chỗ
Seraf

5

Tôi cũng có chính xác vấn đề đấy. Tôi đã thử cài đặt IDE trong một máy tính xách tay khác và tải lên chương trình từ máy tính xách tay đó. Vấn đề được giải quyết. Sau đó, tôi trở lại máy tính xách tay của mình, gỡ cài đặt IDE và cài đặt lại .. nó bắt đầu hoạt động.

Tuy nhiên, tôi không hài lòng vì tôi không thể tìm ra nguồn gốc của vấn đề ... vì vậy tôi đã thử chạy lại mọi thứ theo cùng một cách chính xác ... Tôi đã tìm thấy vấn đề nhưng không chắc đó có phải là nguyên nhân thực sự của vấn đề không .

Trong dự án của tôi, tôi cần thực hiện giao tiếp nối tiếp giữa arduino và MATLAB (GUI). Để xem / xác minh đầu ra (loại) dữ liệu nối tiếp MATLAB (GUI), tôi đã sử dụng HYPERTERMINAL và VIRTUAL SERIAL PORT EMULATOR. Tôi nhận thấy rằng mỗi khi hyperterminal đang chạy hoặc VSPE đang chạy trong khi màn hình nối tiếp của tôi ở trên đó sẽ làm hỏng tính năng tải lên của chương trình. Tôi không chắc đó là vì VSPE hay HYPERTERMINAL, nhưng cài đặt lại IDE làm việc cho tôi.


2
Một trong những dòng Điều khiển nối tiếp, tôi nghĩ đó là DTR, được sử dụng để thiết lập lại Arduino. Khi bạn cố gắng lập trình Arduino, chương trình đầu cuối của bạn có thể bị can thiệp.
linhartr22

Điều này chỉ làm việc cho tôi khi tôi cũng xóa thư mục Thư viện Arduino của mình, nơi chứa tất cả các cài đặt và thêm lib.
Jethro

3

Đối với những người sử dụng Linux Mint, tôi thấy rằng bằng cách chọn cổng "TTY SO" thay vì cổng có nhãn "Arduino", nó sẽ hoạt động (tôi không thể nói chính xác cho bạn vì tôi không có máy tính đó trước mặt tôi ngay bây giờ) .

Sau đó, lần tiếp theo tôi sử dụng Arduino, tôi lại nhận được thông báo tương tự nên tôi quay lại cổng "Arduino" và nó đã hoạt động theo cách đó kể từ đó.

Tôi không am hiểu về kỹ thuật như các bạn còn lại nên tôi không biết tại sao nó lại hoạt động hay vấn đề là gì, nhưng nó hoạt động là tất cả những gì tôi quan tâm. Có lẽ điều này sẽ hữu ích cho một ai đó.


3

Tôi đã gỡ cài đặt IDE và trình điều khiển, v.v., cài đặt lại tất cả, sau đó tôi chạy Arduino IDE với tư cách quản trị viên và thiết lập để chạy khả năng tương thích như windows 7 (Tôi hiện đang sử dụng 10).

Tôi cũng đã thay đổi lập trình viên sang ISP ISP (Tôi không nghĩ vấn đề này, nhưng dù sao tôi cũng đã thay đổi nó).

Tất cả đang hoạt động trở lại ... hy vọng, điều này cũng có thể giúp đỡ người khác.


2

Một điều bất thường nhưng tôi đã tráo đổi vi điều khiển rất nhiều và tôi đã gặp lỗi này khi ngồi không đúng cách .. tôi đã có thể bị bỏng vài lần nhưng tôi đoán nó bị trượt ra ngoài - một cú đẩy nhẹ vào lưng ATMega328 đã sửa nó!


1

Ngoài ra còn có khả năng chính bộ điều khiển bị đặt sai cách trong ổ cắm trên Arduino. Điều này có thể gây nguy hiểm cho bộ điều khiển (có thể bị hỏng), nhưng trong trường hợp của tôi, nó chỉ gây ra lỗi đồng bộ hóa, ngăn tôi tải lên mã.

Vì vậy, chỉ cần kiểm tra xem notch trên IC có đúng hướng không (bạn có thể kiểm tra chéo với hình ảnh của bảng trực tuyến). Phần notch trên bộ điều khiển của Uno sẽ hướng về cạnh của bảng.


1

Tôi đã có lỗi này đi lên quá. Đây là lần đầu tiên sử dụng bảng Arduino Nano mới sau khi tôi đã hàn trên các tiêu đề. Chỉ cần gõ Blink Sketch, không có gì được kết nối với bảng.

Tôi tìm thấy một chút hàn nhỏ giữa các chân NHÓM và RESET. Tôi chọn nó và sau đó tôi có thể tải lên ok.

Tôi cho rằng điều này có thể xảy ra nếu bạn có cùng một mạch ngắn ở đâu đó.


1

Chỉ có lỗi tương tự với một chiếc Mini Pro hoàn toàn mới. Vì chương trình nhấp nháy mặc định được tải sẵn với hầu hết Arduino đang chạy, tôi biết rằng thiết bị có thể ổn.

Vì vậy, tôi đã kiểm tra các tiêu đề mà tôi vừa hàn thêm một lần nữa và thấy rằng không có đủ mối hàn trên các chân TX0. Sau khi hàn lại mọi công trình.


1

Sau nhiều lần rút phích cắm, kiểm tra cổng, khởi động lại IDE, v.v ... Điều dường như tạo ra sự khác biệt khắc phục lỗi này với Arduino Mega 2560 là gỡ cài đặt trình điều khiển USB arduino của Windows sau đó cài đặt lại trình điều khiển ở đây và chọn thủ công từ danh sách> com cổng> arduino http://drivers.softpedia.com/get/Other-DRIVERS-TOOLS/Others/Arduino-Mega-2560-USB-Driver-1110-for-Windows-7-64-bit.shtml Tôi có thể có đã thử nghiệm nó trên uno của tôi sau đó trở lại mega để có một cơ hội nhỏ nói chuyện với uno làm cho AVRDUDE vui nhưng không thể.


1

Khi tôi gặp sự cố khi tải lên bảng của mình, tôi tải lên một chương trình khác như ví dụ nhấp nháy. Điều này dường như để thiết lập lại một cái gì đó và sau đó tôi có thể tải lên chương trình của riêng tôi (khá lớn).

Có thể đáng để thử điều này để xem nếu nó hoạt động trong trường hợp của bạn, mặc dù tôi không biết tại sao nó hoạt động.


những gì bảng và bootloader?
Juraj

Arduino Nano, ATMega328P (không phải bên thứ 3). Phiên bản phần cứng: 2, Phiên bản phần sụn: 1.16, chữ ký thiết bị là 0x1e950f Tôi chưa kiểm tra bộ tải khởi động, nhưng chúng được quảng cáo là "bộ tải khởi động truyền thống"
Jethro

vì vậy câu trả lời của bạn là dành riêng cho bộ tải khởi động Nano cũ
Juraj

Cảm ơn! Tôi sẽ xem xét bộ nạp khởi động và cố gắng nâng cấp nó. Bạn có bất kỳ thông tin về lỗi này?
Jethro

1

Tôi đã có một vấn đề tương tự với bảng Uno của tôi

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x90

Đã thử nhiều phương pháp

  • Nhấn reset trước khi gửi gói
  • các phiên bản IDE khác nhau
  • Thay cáp
  • Thay đổi bộ điều khiển chính nó
  • Kiểm tra vòng lặp

nhưng tất cả những điều trên đều thất bại.

Tôi sử dụng Ubuntu 16.04.4 LTS 4.15.0-33-generic(trong khi viết bình luận này). Mô-đun ACM CDC không được tải, do đó không có /dev/ttyACM0thiết bị nào được tạo để chọn trongArduino IDE -> Tools -> Port

Do đó, Lấy tên mô-đun và tải nó

$ lsusb 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 2341:0043 Arduino SA Uno R3 (CDC ACM)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


$ sudo modprobe cdc-acm

Lệnh trên sẽ chèn mô-đun cần thiết. Bây giờ tôi có thể chọn đúng cổng và tải lên mã

Trong số các giải pháp khác nhau này có hiệu quả với tôi, hy vọng điều này cũng sẽ giúp được ai đó.


0

Tôi đã giải quyết nó bằng cách cập nhật các bảng (dưới "quản lý bảng")


Bạn có Arduino Arduino không?
per1234

0

Tôi đã đối mặt với cùng một vấn đề đối với một số mã ngày hôm nay và tôi đã giải quyết nó như sau:

1- Đầu tiên tôi chạy mã nhấp nháy LED cơ bản. Nó đã đưa ra lỗi tương tự. Nó xác nhận rằng lỗi là do tải lên và không liên quan gì đến việc biên dịch. Tôi cũng kiểm tra mã của tôi đã được biên dịch tốt.

2- Tôi lấy một bảng khác, nhưng nó hoạt động tốt trên PC này. Điều đó có nghĩa là máy tính và dây USB vẫn ổn.

3- Tôi đã kết nối bảng bị lỗi với một PC khác và thật ngạc nhiên, không có lỗi nào như vậy khi tải lên. Điều đó đã cho tôi gợi ý về các vấn đề trong trình điều khiển trong PC đầu tiên.

4- Vì vậy, tôi đã gỡ cài đặt trình điều khiển và cài đặt lại nó trên PC đầu tiên bằng cách tải xuống từ đây

(đảm bảo rằng trong khi cài đặt trình điều khiển từ liên kết này, bạn giữ cho bo mạch của mình được kết nối với PC)

Nó hoạt động tốt bây giờ :-)


0

Tôi đã gặp lỗi này trong máy tính xách tay Linux Mint 17.3 của mình với Arduino Nano avrdude: stk500_getsync (): không đồng bộ hóa: resp = 0x00

Đã giải quyết:

  • đã xóa tất cả những gì có 'arduino' hoặc 'avr' trong tên của nó
  • đã xóa các thư mục .arduino và .arduino15 (Lưu ý dấu chấm trong tên)
  • loại bỏ ver 1.8.7 với gỡ cài đặt gói
  • ar-get cài đặt arduino (ver 1.1.0)
  • thử nghiệm với một bản phác thảo đơn giản (mọi thứ đều ổn)
  • cài đặt ver 1.8.7 với cài đặt gói
  • biên soạn.
  • đã chọn ATmega328p (Bộ tải khởi động cũ) cho bộ xử lý, Arduino Nano cho thẻ và / dev / ttyUSB0 cho cổng => CÔNG TRÌNH CNTT!

Có vẻ như 'Bộ tải khởi động cũ' là mẹo trong trường hợp này. Bây giờ tôi có cả ver 1.1.0 và 1.8.7, ai quan tâm chứ.


trước tiên bạn nên đọc câu trả lời từ aguadopd
Juraj
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.