Tach zusammen,
ich habe ein Problem mit der Programmierung eines Timers auf einem
Attiny12.
Ich will über das PPM-Signal aus der Fernsteuerung einen Ausgang schalten.
Leider will der Timer nicht hochzählen. Ich habe den Mc minimal beschalten
und ohne Quarz laufen. Kann das ein Problem sein?
Code:
$regfile = "attiny12.dat" ' Controller = ATtiny12
$crystal = 1000000 ' Takt 1MHz
$noramclear ' RAM nicht initialisieren
$tiny ' Stack nicht initialisieren
'$hwstack = 32 ' Stackinitialisierung wird durch $TINY unterdrückt
$swstack = 0 ' Software 0
$framesize = 0 ' Framesize = 0
'#################################################################################################################################
'#
'# Hardware initialisieren
'#
'#################################################################################################################################
Config Timer0 = Timer , Prescale = 1024 'Timer0 geht gut
Config Portb.0 = Output
Config Pinb.4 = Input
Portb.0 = 1
'#################################################################################################################################
'#
'# Variablen
'#
'#################################################################################################################################
'Dim Rc As Iram Byte ' Variablen als IRAM definieren
'#################################################################################################################################
'#
'# Hauptprogramm
'#
'#################################################################################################################################
Do
'Geberweg des Senders Minimum = 65 / Maximum = 110 / Mitte = 87
If Pinb.4 = 0 Then
Bitwait Pinb.4 , Set 'Auf positive Flanke warten
Timer0 = 1 'Zaehler starten
Bitwait Pinb.4 , Reset 'Auf negative Flanke warten
Rc = Timer0
Else
End If
If Rc > 70 Then Portb.0 = 0
Loop
Gruß Ronny
Lesezeichen