Hallo zusammen!
Ich ärgere mich gerade mal wieder über den Tiny45v....
Das erste Mal hatte ich diese ollen Dinger in die Ecke gelegt als ich (leider zu spät) festgestellt hatte, dass der Timer1 kein 16bit Timer ist.
Eigentlich sollten die guten Stücke in meinen RC5-Ferbedienungen eingesetzt werden..... mangels 16bit Timer ist dies aber nicht möglich.
Nun habe ich mir gedacht....... Zum Empfang eines RC5-Signals benötige ich den 16bit Timer ja nicht und da mein letztes Projekt (230V-Dimmer für die Deckenlampe) super funktioniert, benutze ich die Tiny`s einfach als "ferngesteuerte Dimmer".
Gesagt, getan! Schaltplan erstellt, Layout der Platine gezeichnet, Platine geäzt und gebohrt, alle Teile eingelötet und....... jetzt kostet mich dieser olle Timer1 wieder Nerven.
Kurz mal zum Programm....
Der Timer0 wird für den RC5-Empfang benötigt und kann daher nicht verwendet werden.
Der INT0 überwacht die Nulldurchgänge der Sinusspannung und der Timer1 (8bit) soll meinen Opto-Triac (MOC 3021) steuern.
Das Programm habe ich soweit auch fertig. Leider bekomme ich nun die Fehlermeldung:
"Error 46" Assignment error (Timer1:0 Licht:2)"
Die Variable Licht wird per Fernbedienung geändert und liefert somit den "Verzögerungswert" für das Zünden des MOC 3021....
Die ISR sieht dafür so aus:
Das Problem liegt einfach beim Timer1 !
Ich habe mal gelesen, dass BASCOM beim Timer1 automatisch von einem 16bit Timer ausgeht. Dies ist ja nun beim Tiny45v nicht der Fall.
Es spielt auch keine Rolle, ob ich die Variable Licht als Byte oder Word dimensioniere.
Alles was ich möchte, ist einen Overflow des Timer1 mit variablen Werten erzeugen.
Kann mir mal einer der ASM-User einen Tipp geben, wie ich das nun einstellen muss?
Den Timer1 habe ich so konfiguriert:
Wäre doch ärgerlich, wenn man die Tiny45 nicht einmal dafür benötigen könnte.
Schöne Grüße,
Cassio
Ich ärgere mich gerade mal wieder über den Tiny45v....
Das erste Mal hatte ich diese ollen Dinger in die Ecke gelegt als ich (leider zu spät) festgestellt hatte, dass der Timer1 kein 16bit Timer ist.
Eigentlich sollten die guten Stücke in meinen RC5-Ferbedienungen eingesetzt werden..... mangels 16bit Timer ist dies aber nicht möglich.
Nun habe ich mir gedacht....... Zum Empfang eines RC5-Signals benötige ich den 16bit Timer ja nicht und da mein letztes Projekt (230V-Dimmer für die Deckenlampe) super funktioniert, benutze ich die Tiny`s einfach als "ferngesteuerte Dimmer".
Gesagt, getan! Schaltplan erstellt, Layout der Platine gezeichnet, Platine geäzt und gebohrt, alle Teile eingelötet und....... jetzt kostet mich dieser olle Timer1 wieder Nerven.
Kurz mal zum Programm....
Der Timer0 wird für den RC5-Empfang benötigt und kann daher nicht verwendet werden.
Der INT0 überwacht die Nulldurchgänge der Sinusspannung und der Timer1 (8bit) soll meinen Opto-Triac (MOC 3021) steuern.
Das Programm habe ich soweit auch fertig. Leider bekomme ich nun die Fehlermeldung:
"Error 46" Assignment error (Timer1:0 Licht:2)"
Die Variable Licht wird per Fernbedienung geändert und liefert somit den "Verzögerungswert" für das Zünden des MOC 3021....
Die ISR sieht dafür so aus:
Code:
Timer_start:
Portb.1 = 0
Start Timer1
Timer1 = Licht
Return
Das Problem liegt einfach beim Timer1 !
Ich habe mal gelesen, dass BASCOM beim Timer1 automatisch von einem 16bit Timer ausgeht. Dies ist ja nun beim Tiny45v nicht der Fall.
Es spielt auch keine Rolle, ob ich die Variable Licht als Byte oder Word dimensioniere.
Alles was ich möchte, ist einen Overflow des Timer1 mit variablen Werten erzeugen.
Kann mir mal einer der ASM-User einen Tipp geben, wie ich das nun einstellen muss?
Den Timer1 habe ich so konfiguriert:
Code:
Config Timer1 = Timer , Prescale = 64
' 256 x (64 / 1000000)= 16,384ms
' 10 ms = 156,25bit bis zum OVFL
On Timer1 Triac_zuenden
Enable Timer1
Wäre doch ärgerlich, wenn man die Tiny45 nicht einmal dafür benötigen könnte.
Schöne Grüße,
Cassio