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
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.
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.
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
>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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.