Tja, wer hätte es gedacht: Erst habe ich einige Versuche mit dem Timer gemacht, um richtig zu verstehen wie er funktioniert, dann ein Programm geschrieben und siehe da - es funktioniert !!
Code:
$baud = 9600
$crystal = 16000000
$regfile "m32def.dat"
Config Portc.2 = Output
Vorne Alias Portc.2
Config Portc.1 = Output
Hinten Alias Portc.1
Config Portc.0 = Output
Links Alias Portc.0
Config Portd.7 = Output
Rechts Alias Portd.7
Config Timer0 = Timer , Prescale = 256 'konfiguriere Timer0 auf 16mikrosekunden pro takt, überlauf bei ca. 4ms
Enable Timer0
On Timer0 Pausenerkennung
Config Int0 = Falling 'configuriere Int0 fallende Flanke
Enable Interrupts 'einschalten der Interrupts
Enable Int0 'einschalten Von Interrupt Int0
On Int0 Summensignalmessung 'springe Zum Interrupt von Timer0
Dim Pitch As Byte
Dim Gier As Byte
Dim Roll As Byte
Dim Nick As Byte
Dim Uebertragewert As Byte
Dim Kanal As Byte
Dim Zaehler As Byte
Do
Links = 1 'Zwei befehle, damit der Controller beschäftigt ist
Links = 0 'normal steht hier das normale Programm
Loop
Summensignalmessung:
Uebertragewert = Timer0
Timer0 = 0
If Kanal = 1 Then
Pitch = Uebertragewert
End If
If Kanal = 2 Then
Gier = Uebertragewert
End If
If Kanal = 3 Then
Roll = Uebertragewert
End If
If Kanal = 4 Then
Nick = Uebertragewert
End If
Incr Kanal
Return
Pausenerkennung: 'wenn der Zähler überläuft sind mehr als 4ms vergangen, also muss es eine Pause sein...
Kanal = 0
Incr Zaehler
If Zaehler = 100 Then
Zaehler = 0
Print Pitch ; "p"
Print Gier
Print Roll
Print Nick ; "n"
End If
Return
End
Weiter gehts dann wieder in meinem Thread "4C":
https://www.roboternetz.de/phpBB2/vi...=40365&start=0
Danke für euren Beistand =D>
Lesezeichen