Hallo zusammen, ich versuche jetzt schon den ganzen Abend meinen Tiny2313 zum laufen zu bringen, aber irgendwie will es nicht gelingen. Habe einen ganz einfachen Test code geschrieben. Er ist im Anhang angehängt. Prinzipiell will ich nur mal ein paar Bits vom PortB setzen. Habe alles im AVR Studio 5 compiliert und das .hex file dann per mySmartUSB light in den Flash geschrieben. Hat auch alles ohne Fehlermeldung funktioniert. Wenn ich den Flash wieder auslese, bekomme ich den Code wieder. Das Problem ist aber: Es sind alle Pins des Controllers auf High. Eigentlich sollten aber die Pins von PortB abwechselnd high und low sein (s.Code). Habt ihr eine Idee was ich falsch mache? Die Fusebits sind auf LowFuse: 0x64 HighFuse: 0xDF Damit sollte der Controller doch mit internen 1MHz laufen oder? Der Controller kommt zur Info frisch von Reichelt. Kann es sein, dass ich beim ersten Mal programmieren noch etwas besonderes einstellen muss? Gruß und vielen Dank im Voraus! Stefan
Code und Fuses sehen auf den ersten Blick gut aus, das mit den 1MHz sollte stimmen. Wie ist der Reset-Pin beschaltet? Abblockkondensatoren vergessen?
S. F. schrieb: > Es sind alle Pins des Controllers auf High. Eigentlich sollten aber die > Pins von PortB abwechselnd high und low sein (s.Code). Dein Programm schaltet PortB auf 10101010 und bleibt dabei. Es findet kein Wechsel statt.
>igentlich sollten aber die Pins von PortB abwechselnd high und low sein
Machen sie auch, nur so schnell ( 0,5Mhz) das es so aussieht als wären
sie high.
Schaut ihr eigentlich den Code an? Was ich noch schreiben wollte: Die Pins 0,2,4,6 müssten low sein. Was soll der Prototyp delay_ms, der nicht definiert ist?
Vergiss was ich geschrieben habe... mein Hirn ist schon im Bett. ZZzzzZzz Samuel K. hat vollkommen recht!
Hi, Danke für die schnellen Antworten. Zu euren Fragen: 1) sorry war etwas missverständlich ausgedrückt. Mit abwechselnd an meinte ich Pin0 = high, Pin1 = low, Pin2 = high usw. Ich meinte natürlich nicht dass die Pins toggeln. 2) der Prototyp delay_ms war noch aus der Vorgängerversion. Da wollte ich die Pins ursprünglich wirklich mit 2s Takt toggeln. Da das aber nicht funktioniert hat, habe ich den Code wieder rausgelöscht und wollte erst mal versuchen die Pins auf Low zu ziehen. Nur den Prototyp habe ich leider vergessen zu löschen. 3) Das Schematic habe ich angehängt. Der Reset pin geht während des Programmierens auf Low und danach wieder auf High. Das ist so ja in Ordnung oder? Gruß Stefan
S. F. schrieb: > 3) Das Schematic habe ich angehängt. Der Reset pin geht während des > Programmierens auf Low und danach wieder auf High. Das ist so ja in > Ordnung oder? ja Wie hast du die Leds angeschlossen? Der Header hat ja gar kein GND. Ansonsten: Programmierst du das richtige Programm (hat mich mal Stunden gekostet).
Zwischen GND und VCC gehört NAH an den Controller noch ein 100nF-Kondensator. Ist an dem "Motor-Anschluss" etwas dran? Wenn ja, lass das erstmal weg. Was ist IC1? Wie ist es mit dem uC verbunden, das geht aus dem Plan nicht hervor.
Ja da hast du Recht. Das muss ich noch ändern. Aber im Moment messe ich direkt an den Controller Pins gegen Ground. Und ja das sollte passen. Habe ich vorhin auch mal gedacht und alle Dateien aus dem Release Ordner gelöscht. Nach dem Compilieren waren die Dateien wieder da. Aber hast Recht, das ist mir auch schon passiert :) Ansonsten, habe ich gerade gedacht ob es Probleme macht, wenn ich die höherwertigen Pins des PORTB auf high setzte, da dort ja das SPI Interface dran hängt. Nun habe ich spaßeshalber mal das ganze mit PortD versucht. Aber kein Unterschied leider.
Oh, sorry, mein Hirn scheint auch schon zu schlafen, bei IC1 tippe ich auf den Programmierstecker?
@Ein: Nein an den Motor Pins hängt nichts. Und IC1 ist der Wannenstecker für den MySmartUSB light (ISP) Programmer. Und stimmt den Blockkondensator an VCC muss ich noch anlöten. Aber das sollte ja nicht zu dem Problem führen oder?
Kommt stark auf die Umgebung an. Gesehen hab ich so etwas schon, dass dann gar nichts ging ;)
Hallo zusammen, falls jemand auch mal wieder vor so einem dubiosen Problem steht: die Lösung war, dass der GND Pin vom Mikrocontroller keinen Kontakt hatte. Habe lackisolierten Lack benutzt und der Lack ist wohl beim erhitzen nicht richtig verdampft. Ist mir aufgefallen, als ich gerade alle Leitungen kontrolliert durchgepiepst habe. Nachdem Kontakt vorhanden war, hatten die Pins die entsprechende Wertigkeit. In Verbindung mit _delay_ms() funktioniert jetzt auch der Blinker :) Danke trotzdem für eure Hilfe! Den Blockkondensator am VCC Pin habe ich sicherheitshalber auch noch angelötet! Schönen Abend noch! Stefan
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.