Hallo, ich habe seit langem mal wieder meine Mikrocontroller aus dem Schrank geholt, da ich für ein Aquarium eine Steuerung basteln wollte. Ein Punkt ist z.B. Dimmen über die 1-10V Schaltung. Es soll morgens halt langsam angehen und eine Stunde später auf ca. 80% sein. Dummerweise musste ich jetzt feststellen das Bascom AVR mir sagt das die Timer Funktion nicht für meinen Mikrocontroller supported wäre. $regfile = "4433def.dat" $crystal = 4000000 Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4 Config Lcd = 16 * 2 'configure lcd screen Config 1wire = Portd.7 'DS1820 Pin Config Portd = Output Config Portb = Input Config Clock = Soft Es kommt beim kompilieren zu den Fehlern: error 210 line 10 Bit definition not found [AS2 error 232 line 10 not supported for the selected micro Laut Datenblatt unterstützt der 4433 doch timer. Hat jemand Rat? Danke!
Hi >Laut Datenblatt unterstützt der 4433 doch timer. Timer ist aber nicht gleich Timer. Der 4433 ist ein ururalt AVR. Da waren die Timer recht spartanisch ausgestattet. Nimm einen aktuellen AVR. MfG Spess
hab nur noch ein paar von denen hier rum liegen, werde dann eh auf die atmega wechseln. Aber nur wegen der Uhr jetzt erst neue bestellen... Wie wurde das denn vorher gemacht? Es musst doch noch codebeispiele geben, oder ging das nicht vorher?
Hi >hab nur noch ein paar von denen hier rum liegen, werde dann eh auf die >atmega wechseln. Aber nur wegen der Uhr jetzt erst neue bestellen... >Wie wurde das denn vorher gemacht? Mit zählen. Aber dein Programm scheint auf den Asynchron-Mode eines Timers zuzugreifen zu wollen. Und das hat der 4433 nicht. MfG Spess
Ja, da muss man "von Hand" zählen. Z.b. so:
1 | $regfile = "4433def.dat" |
2 | $crystal = 4000000 |
3 | '$sim |
4 | Dim Sekunde As Integer |
5 | Config Timer1 = Timer , Prescale = 64 |
6 | Enable Timer1 |
7 | On Timer1 Sekundeisr |
8 | Enable Interrupts |
9 | Start Timer1 |
10 | |
11 | Do |
12 | Print Sekunde |
13 | Loop |
14 | |
15 | End |
16 | |
17 | Sekundeisr: |
18 | Timer1 = 3036 |
19 | Incr Sekunde |
20 | If Sekunde = 60 Then Sekunde = 0 |
21 | Return |
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.