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







Zitieren

Lesezeichen