Guten Abend alle, Ich hab mal dieses Programm auf mein Attiny 2313 drauf geladen. Und 3 LED's an PB0, PB1 und PB2 dran gemacht. Zuerst soll die Rote LED leuchten an PB0, 20 Sek lang, dann soll sie ausgehen, die Orange soll leuchten 3 sek dann soll die Orange ausgehen und die Grüne leuchten. Aber irgendwie leuchtet nur die rote ^^. Hier ist mal mein Code: $regfile = "2313def.dat" $crystal = 12000000 Config Pinb.0 = Output Config Pinb.1 = Output Config Pinb.2 = Output Do Toggle Portb.0 Wait 20 Toggle Portb.0 Toggle Portb.1 Wait 3 Toggle Portb.1 Toggle Portb.2 Loop MfG, Tugrul Ö.
Hallo A.K, Ich hab eben bei der gelben LED falsch gesteckt, jetzt leuchtet die Rote 20 Sek und danach die Gelbe 3 Sek aber die Grüne nicht. Und was du da geschrieben hast, versteh ich nicht so, ich bin neu in diesem Element und bitte bei Hilfen um vollständige Sätze (SPO = Subjekt, Prädikat und Objekt) Danke MfG, Tugrul Ö.
> $regfile = "2313def.dat"
Falsche Controller-Beschreibung ausgewählt. Ist zwar möglicherweise
nicht die Ursache des Problems, aber trotzdem falsch.
Wäre noch nützlich zu wissen, wie die Hardware aussieht.
Hi AK, So sieht die Hardware aus: http://www.electronic-idea.de/typo3/uploads/pics/avrispschaltung.jpg Wenn ich AT90S2313.dat oder AT90S2313def.dat oder so mache, sagt er "Could not find" beim kompilieren. MfG, Tugrul Ö.
Wenn dein Controller ATTiny2313 heisst, warum suchst du dann so hartnäckig nach einer Beschreibung von einem anderen Controller, dem AT90s2313? Wie ich schon andeutete, heisst das korrekte File ATtiny2313.DAT.
Der Testplatine fehlt der übliche 100nF Kondensator zwischen VCC und GND. Ohne denn kann alles mögliche passieren.
Hallo, Danke für eure Antworten. Ja das mit dem 100nF hab ich übersehen, auf meiner anderen Platine (IgorPlug-USB) hab ich einen drauf. Ich werde morgen einen mal dazu packen. MfG, Tugrul Ö.
Hallo, Ich hab diesen Code ausprobiert, aber es geht nicht ! Also die dritte LED geht nicht an. Der Port ist net beschädigt oder so...hab ich getestet. $regfile = "ATtiny2313.DAT" $crystal = 12000000 Config Pinb.0 = Output Config Pinb.1 = Output Config Pinb.2 = Output Do Toggle Portb.0 Wait 20 Toggle Portb.0 Toggle Portb.1 Toggle Portb.2 Wait 3 Toggle Portb.1 Toggle Portb.2 Wait 10 Loop Hab echt keine Ahnung.
>Hab echt keine Ahnung. Schalte doch einfach mal alle an. Wenn dann auch alle leuchten, weisst du, dass die Hardware in Ordnung ist. Und dann solltest du die LEDs lieber einschaltet statt umschalten (togglen).
> Der Port ist net beschädigt oder so...hab ich > getestet. Wie hast du das getestet?
Hallo, Ich hab den PB2 getestet in dem ich da mal ne LED ran gemacht und sie leuchtet. Ich glaube aber das ich das Problemkind schon gefunden habe, es liegt an einem Kabel. Nochmal zu deinem "einschalten und umschalten" Der Befehl toggle ist ja umschalten. Kann ich mit diesem Befehl die Ports ein-und auschalten ? Config Portc.0 = Output Portc.0 = 1 Portc.0 = 0 Danke
ziemlich krude Sache mit dem Toggeln ... es wird einfach immer der Zustand gewechselt, 1 -> 0 und 0 -> 1 mit set und reset oder 1 und 0 sind die sachen oft übersichtlicher, von wegen was wann wo ein und ausgeschaltet wird.
>Kann ich mit diesem Befehl die Ports ein-und auschalten ?
Solche Fragen beantwortet in der Regel das Handbuch / die
Referenzübersicht zur Programmiersprache...
[mal wieder OffTopic]
Wieso verfallen eigentlich so ziemlich alle BASCOM-"Programmierer" immer
diesem Wahn, sich hier im Forum diese Sprache beibringen lassen zu
müssen?
[/mal wieder OffTopic]
@Tugrul versuch es mal mit diesem Code, bei mir funzt es zumindest so. $regfile = "attiny2313.dat" $crystal = 1000000 Config Portb.0 = Output Config Portb.1 = Output Config Portb.2 = Output Do Toggle Portb.0 Wait 20 Toggle Portb.0 Toggle Portb.1 Wait 3 Toggle Portb.1 Toggle Portb.2 Wait 10 Loop
Hab den Code noch etwas umgeschrieben: $regfile = "attiny2313.dat" 'Definition des MC $crystal = 1000000 'Quarz einstellen, Sekunden im Programm Ablauf sind nicht wirklich Sekunden sondern etwas weniger, also nicht wundern!! Config Portb.0 = Output Config Portb.1 = Output Config Portb.2 = Output 'die Ports werden auf Ausgang gesetzt Do Portb.0 = 1 'grün wird geschaltet Wait 10 'warte 10 Sekunden Portb.0 = 0 'grün wird ausgeschaltet Portb.1 = 1 'gelb wird eingeschaltet Wait 5 'warte 5 Sekunden Portb.1 = 0 'gelb wird ausgeschaltet Portb.2 = 1 'rot wird eingeschaltet Wait 5 'warte 5 Sekunden Portb.1 = 1 'gelb wird eingeschaltet Portb.2 = 1 'rot wird eingeschaltet Wait 5 'warte 5 Sekunden Portb.0 = 1 'grün wird eingeschaltet Portb.1 = 0 'gelb wir ausgeschaltet Portb.2 = 0 'rot wird ausgeschaltet Loop 'von vorne beginnen Man kann das bestimmt auch kürzer machen, aber dazu habe ich jetzt im Moment keine Lust mehr. Hauptsache es funktioniert. Gruß Stefan
Danke für eure Antworten, aber muss ich die Quarz Variable nicht auf 12000000 setzen, wenn ich einen 12 MHZ Quarz benutze ? Oder ist das egal... ? MfG, Tugrul Ö.
Also wenn Du einen externen Quarz nutzt der 12 MHz hat dann schon, Du kannst aber auch den internen Quarz, ich glaube bis 4 MHz, nutzen. Ist Deine entscheidung wie Du es machen willst. Gruß 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.