Forum: Mikrocontroller und Digitale Elektronik ATmega16A problem mit serieller Schnittstelle. Bootloader?


von Alex R. (itaxel)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich versuche schon seit längerer Zeit den ATmega16a über die serielle 
Schnittstelle zu programmieren aber bisher ohne Erfolg. Über SPI mit dem 
Atmel Studio ist es kein problem. Da funktioniert alles.

So, wie das Schaltbild zeigt, habe ich schon viele µC programmiert. Nur 
bei diesem scheitere ich. Meine Vermutung liegt am Bootloader. Ich hab 
schon einige Bootloader aus dem Internet ausprobiert.

Sobald ich über Arduino ein Sketch aufspielen möchte bringt er mir
1
avrdude: stk500_getsync(): not in sync: resp=0x00

Auch wenn mir dieser Fehler schon mehr als genug bekannt ist und ich 
auch weiß was ich machen muss, scheitere ich.
Ich habe meines erachtens schon alles ausprobiert...
externen Kondensator an Reset, Baudrate, Fuse-Bits, etc.

Sollte es am Bootloader liegen, hat jemand ein funktionsfähiger den ich 
ausprobieren kann?

Viele Grüße
Alex

von Alex R. (itaxel)


Lesenswert?

Hat noch niemand mit dem ATmega16a gearbeitet?

von Wolfgang (Gast)


Lesenswert?

Alex R. schrieb:
> Meine Vermutung liegt am Bootloader. Ich hab
> schon einige Bootloader aus dem Internet ausprobiert.

Hast du auch die dazu passenden Programme für das Hochladen verwendet 
und kommt der µC richtig in den Bootloader rein?

von STK500-Besitzer (Gast)


Lesenswert?

Alex R. schrieb:
> Sollte es am Bootloader liegen, hat jemand ein funktionsfähiger den ich
> ausprobieren kann?

Hast du den nach deinem ISP-Experiment auch wieder aufgespielt?
Der wird nämlich per ISP überschrieben.
Ist da überhaupt jemals einer drau gewesen?
Vom ATmega16U... weiß ich, dass dort einer vorhanden ist. der 16A ist 
mMn aber nur eine verbesserte Version des 16.

von Bernd K. (prof7bit)


Lesenswert?

Seh ich das richtig, Du "zweckentfremdest" den Arduino als reinen 
USB-Seriell Wandler? In dem Falle musst Du sicherstellen daß Dir der 
Atmega auf dem Arduino-board selbst nicht dazwischen funkt. Der wird 
sich nämlich selbst resetten jedesmal wenn am PC der Port geöffnet wird 
und der Arduino Bootloader wird sich einige Millisekunden danach RX und 
TX greifen und Dir dazwischen funken.

Du musst den automatischen Reset-Mechanismus des Arduino deaktivieren, 
nur dann kannst Du ihn halbwegs als seriellen Schnittstellenersatz 
zweckentfremden.

Langfristig besser wäre es womöglich sich einen separaten 
USB/Seriell-Adapter zuzulegen oder zu basteln, der wäre kleiner, 
handlicher, billiger und ohne störendes Eigenleben.

: Bearbeitet durch User
von Alex R. (itaxel)


Lesenswert?

Wolfgang schrieb:
> Hast du auch die dazu passenden Programme für das Hochladen verwendet
> und kommt der µC richtig in den Bootloader rein?

Ich arbeite mit dem Atmel Studio und war bis jetzt mit jedem µC 
erfolgreich.
Ob er richtig in den Bootloader rein kommt? Glaub ich nicht.

STK500-Besitzer schrieb:
> Hast du den nach deinem ISP-Experiment auch wieder aufgespielt?
> Der wird nämlich per ISP überschrieben.
> Ist da überhaupt jemals einer drau gewesen?

Klar, danach habe ich den Bootloader wieder drauf gespielt.
Der µC wird wie auch der ATmega168 blank geliefert.

Bernd K. schrieb:
> Seh ich das richtig, Du "zweckentfremdest" den Arduino als reinen
> USB-Seriell Wandler?

Ja. Sobald ich ihn mit einem Bootloader funktionsfähig bekommen hab 
kommt er in eine Schaltung mit einem ftdi-Treiber.
Auf dem Arduino ist der µC natürlich nicht drauf.

von Bernd K. (prof7bit)


Lesenswert?

Alex R. schrieb:
>> Seh ich das richtig, Du "zweckentfremdest" den Arduino als reinen
>> USB-Seriell Wandler?
>
> Ja. Sobald ich ihn mit einem Bootloader funktionsfähig bekommen hab
> kommt er in eine Schaltung mit einem ftdi-Treiber.


> Auf dem Arduino ist der µC natürlich nicht drauf.

Ja. Aber da ist der ATMega vom Arduino drauf und der hat auch einen 
Bootloader. Und der lauscht ebenfalls auf der RX-Leitung und wird 
versuchen auf TX zu antworten. Du musst das unterbinden.

: Bearbeitet durch User
von Alex R. (itaxel)


Lesenswert?

Da hab ich mich nicht richtig ausgedrückt. Sorry...
Den Atmega habe ich vom Board abgezogen. Also der IC-Sockel ist leer.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.