Ich versuche, diese Umgebungsbeleuchtung für den PC zu bauen . Dies funktionierte einwandfrei auf meinem Arduino Uno. Mein nächster Schritt war es, es mit "Arduino auf einem Steckbrett" zu machen . Also kaufte ich einen leeren ATmega328-Chip und brannte den Arduino-Bootloader (für das Board "Arduino Duemilanove w / ATmega328") mit der Arduino IDE und USBasp darauf. und ich weiß, dass dies richtig geladen wurde, da dieser ATmega-Chip auf dem Uno gut funktioniert.
Dann habe ich den USB-zu-Seriell-Konverter mit FT232RL gemacht ; Die Treiber wurden jedoch nicht auf meinem PC installiert (Windows 7 x64). Ich vermute, ich habe den oberflächenmontierten FTDI-Chip überhitzt und ihn beim Handlöten getötet.
So habe ich es zur Seite gehalten, und bekam dieses USB-Seriell - Konverter Brücke: (Sorry für die crappy Fotos) habe ich eine zusätzliche ST232CN auf meinem Steckbrett, den Spannungspegel von RS232 auf TTL zu konvertieren, wie in gezeigt , das Seite . Und das funktioniert gut, wie ich anhand eines Loopback-Tests bestätigt habe. Und ich habe Pin 9 von ST232 mit Pin 2 von ATmega und Pin 10 mit Pin 3 verbunden.
Beim Versuch, ein Blinkbeispiel von der Arduino IDE hochzuladen , wird folgende Fehlermeldung angezeigt:
Binary sketch size: 1026 bytes (of a 30720 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x00
Wenn ich den ausführlichen Upload (Umschalt + Upload) durchführe, erhalte ich folgende Fehlermeldung:
avrdude: usbdev_open(): did not find any USB device "usb"
Außerdem habe ich versucht, 1k Pull-up-Widerstände an den Pins 2 und 3 von ATmega hinzuzufügen, aber es hat nicht geholfen. Ich denke, das Problem liegt jetzt in der seriellen Kommunikation vom ST232 zu ATmega? Und gibt es eine spezielle Verbindung zum Reset-Pin von ATmega? Ich habe es mit einem 10k Widerstand auf 5V gezogen.
Antworten:
Immer wenn ich den Fehler "Nicht synchron" erhalten habe, war dies darauf zurückzuführen, dass ich nur das Reset-Timing verpasst habe (oder das Reset komplett vergessen habe!). Für mein Steckbrett und Eclipse / AVRDude ist es das richtige Timing, den Reset-Pin kurz vor oder gleichzeitig mit dem Klicken auf die Upload-Schaltfläche zu lösen. Überprüfen Sie aber auch, ob Ihr PC den Adapter wirklich sieht, wenn Sie ihn anschließen.
Spätere Arduino-Boards werden so aufgebaut, dass sie bei jeder seriellen Verbindung und programmgesteuert vom Bootloader zurückgesetzt werden. Dieser Blog-Artikel beschreibt, wie es funktioniert und noch interessanter, wie man es auf frühere Boards hackt. Es sollte nicht zu schwer sein, es auf ein Steckbrett zu legen, wenn Sie wollten. Der Chip muss natürlich einen kompatiblen Bootloader haben (den Sie bereits in Ihren eingebaut haben). Für Steckbretter mache ich einfach den Reset-Button / Mausklick-Tanz.
quelle
Wie @JRobert in den Kommentaren sagte, hat der richtige Zeitpunkt für die Erdung und Enterdung des Reset-Pins bei ATmega den Trick getan. Erden Sie den Reset-Pin des ATmega weiter, wenn Sie auf "Hochladen" klicken, und erden Sie ihn, genau wie "Hochladen" angezeigt wird.
quelle
Ich hatte die gleichen Fehler, die ich auf mehreren Websites gesehen habe. RE: Arduino-Nachricht "avrdude: stk500_getsync (): nicht synchron: resp = 0x00" oder ähnlich.
Ich habe festgestellt, dass, wenn ich alles entferne, was in D0 gepatcht ist ([D0] DIGITAL Pin Zero, am weitesten von USB- und Power-Buchsen entfernt, auch "RX" lautet).
Ich habe zwei verschiedene Computer ausprobiert und die gleichen Fehler festgestellt und festgestellt, dass wenn: 1- ich den Draht von [D0] entferne oder den Stromkreis öffne, um [D0] 2- auf Arduino hochzuladen 3- den entfernten Draht erneut flicken oder den offenen Stromkreis auf [schließen D0]
Ich habe diesen Fehler nur beim Hochladen festgestellt und dies ist meine Lösung. zur Zeit.
Ich hoffe es hilft.
Fühlt sich gut an, endlich ein paar nützliche Informationen an eine Community zurückzugeben!
quelle
Dies hat mein Problem behoben. Gehen Sie zu Treiber und Setup, ersetzen Sie Boards.txt in der Arduino IDE ...
Ich habe Arduino MEGA 2560 R3 und ich hatte das gleiche Problem
avrdude: stk500_getsync (): nicht synchron: resp = 0x00
http://arduino.cc/en/Main/ArduinoBoardADK
quelle
So beheben Sie den Fehler "avrdude: stk500_getsync (): nicht synchron: resp = 0x00". Installieren Sie einfach den FTDI-Treiber Version 2.8.24.0. Es gibt einige Probleme mit dem neuen Treiber v2.8.28.0.
quelle
Ziehen Sie beim Hochladen der Codes von der Arduino IDE auf Ihrem Computer den RX-Pin 0 der Arduino-Karte heraus. Sie erhalten das Hochladen des Erfolgscodes. Stecken Sie den RX-Pin heraus und versuchen Sie es. Oder Sie können (vielleicht) den Bluetooth-Empfang an den Arduino-Empfang senden, damit die TX miteinander verbunden sind.
quelle