Es lag am MOC. Hab heute einen 3020 gekauft, Widerstand angepasst und es geht.
Jetzt hab ich nur das Problem, das ich nicht genau weiss, wie ich den 8-Bit Timer1 des Tiny26 nutzen kann.
Kann mir da jemand helfen?
Im Datenblatt steht er als Timer1.
Ich hab ihn mit Config usw nach RNAVR eingestellt.
Mit Timer0 funktioniert es alles. Aber wenn ich alles auf Timer1 umschreibe, kommt eine Fehlermeldung in der Zeile wo der Timer wieder vorgeladen werden soll.
Timer1 = Timervorgabe
erzeugt den Fehler:
Assigment Error[Timer1:0 Timervorgabe:6]
An der 6 für A=3 liegt es nicht.
Hier nochmal der ganze Code:
Code:
$regfile = "at26def.dat"
$crystal = 16000000
Led Alias Porta.4
Triac Alias Porta.7
Taster Alias Pina.2
Config Porta.4 = Output
Config Porta.7 = Output
Config Porta.2 = Input
Porta = &B0000100 'PullUp von Pin PA2 aktivieren
Config Timer1 = Timer , Prescale = 256
'Config Rc5 = Pinb.2
Dim A As Word
Dim B As Word
Dim C As Integer
Dim Address As Byte , Command As Byte
Dim Timervorgabe As Word
'Const Timervorgae = 131
Config Int0 = Change 'bei jeder Halbwelle reagieren
Enable Int0
Enable Interrupts
On Int0 Int0_isr
On Timer1 Timer_irq
Enable Timer1
Set Led
Do
'Getrc5(address , Command)
If Taster = 0 Then
Incr A
Reset Led
Waitms 10 'entprellen
Set Led
End If
If A = 4 Then A = 0
If A = 0 Then Timervorgabe = 131
If A = 1 Then Timervorgabe = 100
If A = 2 Then Timervorgabe = 48
If A = 3 Then Timervorgabe = 6
Loop
Int0_isr:
'Waitus C
'Set Triac
'Waitus 100
'Reset Triac
Start Timer1
Return
Timer_irq:
Timer1 = Timervorgabe
Set Triac
Stop Timer1
Waitus 100
Reset Triac
Return
Lesezeichen