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.
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.
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).
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]
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