Forum: Mikrocontroller und Digitale Elektronik Flashen von ATtiny2313


von Drake (Gast)


Lesenswert?

Hallo an alle,

ich bin neu hier im Forum und in Sachen Mikrocontroller noch ein echter 
Neuling. Nichts desto trotz habe ich mich an eine Schaltung mit einem 
ATtiny2313 gewagt, bei der ich nicht mehr weiterkomme.

Ich habe mir ein AVR Dragon Board gekauft und progammiere den ATtiny2313 
über das AVR Studio 4. Für das Flashen habe ich mir eine separate 
Schaltung gebaut, wie die, in der der Mikrocontroller später laufen 
soll. Das habe ich so gemacht, weil ich SPI Pins auf der Schaltung als 
IOs konfiguriert haben möchte.

Das Builden verläuft ohne Probleme:
AVR Memory Usage
----------------
Device: attiny2313

Program:    1526 bytes (74.5% Full)
(.text + .data + .bootloader)

Data:          9 bytes (7.0% Full)
(.data + .bss + .noinit)

Build succeeded with 1 Warnings...

Über das Menu "Connect to connected AVR Programmer" kann ich mit dem 
ATtiny2313 über ISP kommunizieren und auch mit 125 kHz ohne Probleme 
flashen:

Getting ISP frequency parameters.. SD=0x06 .. OKOK
Reading FLASH input file.. OK
Setting device parameters.. OK!
Entering programming mode.. OK!
Erasing device.. OK!
Programming FLASH ..      OK!
Reading FLASH ..      OK!
FLASH contents is equal to file.. OK
Leaving programming mode.. OK!

Beim Flashen lade ich auch wirklich das gebuildete Hex-File in den 
Controller. Wenn ich nun den ATtiny auf die Zielschaltung setze startet 
die Software nicht. Die Ausgänge, an denen LEDs hängen bringen 1,8V und 
die LEDs glimmen nur leicht.

Vermutlich ist das Problem echt keine große Sache, aber ich weiss gerade 
echt nicht weiter. Habe ich irgendwas vergessen einzustellen?

Ich würde mich sehr über einen Tipp freuen.

Viele Grüße

von Oliver (Gast)


Lesenswert?

Hast Du den Pin als Ausgang konfiguriert, d.h. das entsprechende 
DDRx-Bit auf 1 gesetzt? Die von Dir geschilderten Symptome deuten darauf 
hin, dass der Pin als Eingang geschaltet ist und Du lediglich den Pullup 
eingeschaltet hast.

von Herr M. (herrmueller)


Lesenswert?

Wenn die Leds glimmen, ist das Programm gestartet und macht genau das, 
was Du programmiert hast. Und nur Du allein weisst, was das ist. Es 
könnte auch eine höhere Frequenz an dem Pin anliegen. Nur Du allein 
weisst, mit was Du die 1,8V gemessen hast. Für alle anderen ist es ein 
wenig schwierig.
Vielleicht ist der Ausgang aber auch auf 1 und Deine Betriebsspannung 
ist nur 2V, dann ist alles in Ordnung. So kann man nur schwer sagen, 
warum die LED nicht im 1.2 Sekunden Takt blinkt. Und nur Du weisst, ob 
sie das überhaupt soll.

von Drake (Gast)


Lesenswert?

Ich hab den IO als Ausgang konfiguriert und setze ihn einmalig auf 1.
1
DDRA = _BV(PA0) | _BV(PA1);

Die Betriebsspannung des µCs liegt bei 5,089 V und am Ausgang kommen 
1,8V Gleichspannung an - beides gemessen mit einem Multimeter.


Kann es sein, dass ich den Oszillator falsch konfiguriert habe? Ich habe 
ihn auf intern gestellt. Oder muss man bei den Fuses etwas 
berücksichtigen?

Grüße

von holger (Gast)


Lesenswert?

>Kann es sein, dass ich den Oszillator falsch konfiguriert habe? Ich habe
>ihn auf intern gestellt.

Das interessiert einen gesetzten Pin nicht die Bohne.
Es deutet alles darauf hin das du die Pins als Eingang
mit Pullups konfiguriert hast.

Vieleicht ist es auch ganz was anderes. Wo ist der komplette
Quellcode?

von ... (Gast)


Lesenswert?

Schuß ins Blaue: Du hast die Schleife in 'main' vergessen.
Noch ein Schuß ins Blaue: Du hast den Watchdog eingeschaltet.
Weiterer Schuß ins Blaue: Du hast einen Interrupt erlaubt ohne passende 
Routine.

Solange Du hier nicht mehr Infos preisgibst, insbesondere Deine 
kompletten Sourcen, wirst Du kaum vernüftige Antworten erhalten.

von Drake (Gast)


Lesenswert?

Hallo zusammen,

Die Schaltung ist die hier im Forum schon gepostete Looping Louie 
Schaltung
Beitrag "pimp my Looping Louie (mit Mikrocontroller & Zufall!)"

der Hinweis, dass die Software laufen muss, wenn die LEDs glimmen war 
gut. Ich hatte beim Löten den Controller spiegelverkehrt gelötet - 
Eingänge und Ausgänge waren als vertauscht. Der µC läuft jetzt... sowas 
passiert, wennn man einen SWler an HW lässt ;)

Danke für die Tipps und Hinweise!

Viele Grüße

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.