USB- 직렬 케이블을 통해 Arduino를 프로그래밍 할 때 AVRdude 동기화되지 않은 오류를 어떻게 해결할 수 있습니까?


9

Ambient lighting for PC 를 만들려고합니다 . 이것은 내 Arduino Uno에서 완벽하게 작동했습니다. 다음 단계는 "Arduino on a breadboard"를 사용하는 것 입니다. 그래서 나는 빈 ATmega328 칩을 구입하고 Arduino IDE와 USBasp를 사용하여 Arduino 부트 로더 ( "Armegaino Duemilanove w / ATmega328"보드 용)를 태 웠습니다. 이 ATmega 칩이 Uno에서 제대로 작동함에 따라 이것이 올바르게로드되었음을 알고 있습니다.

그런 다음 FT232RL을 사용하여 USB- 직렬 변환기를 만들었습니다 . 그러나 해당 드라이버가 내 PC (Windows 7 x64)에 설치되지 않았습니다. 표면 실장 FTDI 칩이 과열되어 손으로 팔면서 죽였다고 생각합니다.

그래서, 나는 옆을 유지하고있어 같이 내가, RS232에서 TTL의 전압 레벨을 변환, 내 브레드 보드에 추가 ST232CN을 사용 (죄송 엉터리 사진 용) : USB 직렬 변환기의 다리를 이 페이지 . 그리고 루프백 테스트에서 확인 했으므로 제대로 작동합니다. 그리고 ST232의 9 번 핀을 ATmega의 2 번 핀에, 10 번 핀을 3 번 핀에 연결했습니다.

Arduino IDE에서 깜박임 예제 를 업로드하려고 할 때이 오류가 발생합니다.

Binary sketch size: 1026 bytes (of a 30720 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x00

내가 할 때 업로드 자세한 정보 (Shift + 업로드),이 오류 / 메시지가 :

avrdude: usbdev_open(): did not find any USB device "usb"

또한 ATmega의 핀 2와 3에 1k 풀업 저항을 추가하려고 시도했지만 도움이되지 않았습니다. 이제 문제가 ST232에서 ATmega 로의 직렬 통신에 있다고 생각합니까? 그리고 ATmega의 리셋 핀에 특별한 연결이 있습니까? 10k 저항으로 5V까지 끌어 올렸습니다.


브레드 보드 설정의 회로도 및 그림이 도움이 될 것입니다.
sptrks

3
업로드 직전과 동시에 또는 명령 직후 칩을 재설정 했습니까? '동기화되지 않음'오류가 발생하면 해당 상대 타이밍과 관련이 있습니다. 내 브레드 보드 및 Eclipse / AVRDude의 경우, 업로드 명령을 클릭하기 직전 또는 바로 재설정 핀을 접지 해제하는 것이 올바른 타이밍입니다. 또한 PC를 연결하면 실제로 어댑터에 PC가 표시되는지 확인하십시오.
JRobert

1
@potato_in_my_ear-솔루션을 게시하기위한 올바른 형식은 편집이 아니라 답변입니다. 아래를 보면 입력 할 수있는 "답변"이라는 상자가 나타납니다. 들어가면 사람들이 답변에 투표하고 답변 왼쪽의 확인 표시를 눌러 답변을 '수락'할 수 있습니다.
Kevin Vermeer

1
@potato_in_my_ear : 도움이되어 기쁩니다. 당신은 신사이자 학자입니다-나는 나의 의견을 답변으로 만들 것입니다.
JRobert

2
해결책은 사람들이 의견에 대한 답변을 중단하는 것입니다!
Kevin Vermeer

답변:


6

'동기화되지 않음'오류가 발생하면 재설정 타이밍이 누락되었거나 재설정을 완전히 잊어 버린 것과 관련이 있습니다. 내 브레드 보드 및 Eclipse / AVRDude의 경우 업로드 버튼을 클릭하기 직전 또는 동시에 리셋 핀을 접지 해제하는 것이 올바른 타이밍입니다. 또한 PC를 연결하면 PC에 실제로 어댑터가 표시되는지 확인하십시오.

이후 arduino 보드는 직렬로 연결될 때마다 그리고 부트 로더가 프로그래밍 방식으로 재설정 할 수 있도록 제작되었습니다. 이 블로그 기사 는 어떻게 작동하는지, 더 흥미롭게도 이전 보드에서 해킹하는 방법을 설명합니다. 원한다면 브레드 보드에 올려 놓기가 너무 어렵지 않아야합니다. 물론 칩에는 호환 가능한 부트 로더가 있어야합니다 (이미 설치 한 부트 로더). 브레드 보드의 경우 재설정 버튼 / 마우스 클릭 댄스를 수행합니다.


avrdude.conf를 편집하여 avr 툴 체인이 재설정을 수행하도록 할 수 있다고 말하는 것을 발견 했습니다 . 여기 (의견에). 그러나 어떻게 해야할지 모르겠습니다. 도울 수 있니. 난 항상 리셋을 눌러 싫어 ..
Anubis

나중에 Aduino에 내장 된 Arduino 보드 또는 브레드 보드에 대한 하드웨어 지원이 필요합니다. 코드만으로는 할 수 없습니다. 직렬 DTR에서 리셋 및 리셋 풀업까지의 커패시터를 기반으로합니다. 오래된 것이나 브레드 보드가 있다면 그것을 추가해야합니다. 이 EE StackEx 질문 과 내가 인용 한 블로그 기사는 올바른 방향으로 안내합니다.
JRobert

2

코멘트에서 @JRobert가 말했듯이 ATmega의 리셋 핀을 접지하고 접지를 해제하는 올바른 타이밍이 트릭을 수행했습니다. "업로드"를 클릭 할 때 ATmega의 리셋 핀을 계속 접지하고 "업로드"가 표시되는 것처럼 접지를 해제하십시오.


방금 arduino mini를 얻었고 코드를 업로드하기 위해 재설정 버튼을 눌러야한다는 것을 알고 있었지만 언제 찾을 수 없었습니다 !!! 이것은 나를 위해 일했습니다. 감사.
스폰지 밥

0

여러 사이트에 게시 된 것과 동일한 오류가 발생했습니다. RE : Arduino 메시지 "avrdude : stk500_getsync () : 동기화되지 않음 : resp = 0x00"또는 유사.

D0에 패치 된 것을 제거하면 USB 및 전원 잭에서 가장 먼 [D0] DIGITAL 핀 0도 "RX"로 표시됩니다.

두 대의 다른 컴퓨터를 사용해 보았는데 같은 오류가 발생하여 다음과 같은 경우를 발견했습니다. D0]

업로드 할 때 해당 오류 만 발생했으며 이것이 내 솔루션입니다. 지금은

도움이 되길 바랍니다.

마지막으로 커뮤니티에 유용한 정보를 제공하는 것이 좋습니다!


1
응답이 약간 불분명합니다. "I ..."라는 문장이 불완전하다는 것을 알 수 있습니다. 감사합니다 편집하십시오.
Anindo Ghosh

이 답변은 충돌하는 회로가 atmega 하드웨어 직렬 핀에 연결되었음을 나타냅니다.
Chris Stratton

0

이 문제가 해결되었습니다. 드라이버 및 설정으로 이동하여 arduino IDE에서 Boards.txt를 교체하십시오 ...

나는 arduino MEGA 2560 R3을 가지고 있으며 같은 문제가 있습니다.

avrdude : stk500_getsync () : 동기화되지 않음 : resp = 0x00

http://arduino.cc/en/Main/ArduinoBoardADK


-1

"avrdude : stk500_getsync () : 동기화되지 않음 : resp = 0x00"오류를 수정하려면 FTDI 드라이버 버전 2.8.24.0 만 설치하십시오. 새 드라이버 v2.8.28.0에는 몇 가지 문제가 있습니다.


-1

컴퓨터의 Arduino IDE에서 코드를 업로딩하는 동안 Arduino 카드의 RX 핀 0을 빼십시오. 코드가 성공적으로 업로드됩니다. RX 핀을 뽑고 시도하십시오. 또는 블루투스의 RX를 Arduino의 RX에 연결하여 TX를 서로 연결할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.