Björn
03.04.2006, 13:29
Hallo!
Ich möchte die Pulsbreite eines RC-Empfänger-Kanals auslesen, um später LEDs zu schalten. Hierbei wollte ich als Vorstufe einfach mal die Pulsbreite auslesen... Jedoch zeigt der Controller blind streuende Werte. Mein Code sieht so aus:
'================================================= ==============================
' Compiler
'================================================= ==============================
$regfile = "m32def.dat" 'Mega32
$crystal = 8000000 '8Mhz Quarz (intern)
$baud = 9600
'-------------------------------------------------------------------------------
'================================================= ==============================
' Ein- und Ausgänge
'================================================= ==============================
Config Pind.4 = Input 'Empfängersignal
'-------------------------------------------------------------------------------
'================================================= ==============================
' Variablen
'================================================= ==============================
Dim Pulsbreite As Byte
'-------------------------------------------------------------------------------
'================================================= ==============================
' LCD Parametrieren
'-------------------------------------------------------------------------------
Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.3 , Db6 = Porta.2 , _
Db7 = Porta.1 , E = Porta.5 , Rs = Porta.6
Config Lcd = 16 * 2
Cls
Cursor Off Noblink
'************************************************* ******************************
'* HAUPTPROGRAMM *
'************************************************* ******************************
Do
Wait 2
Anfang:
Pulsein Pulsbreite , Pind , 4 , 0 'Pulsbreite auslesen
'-- Pulsanzeigen ---------------------------------------------------------
Cls
Lcd "Puls: "
Lcd Pulsbreite
'-------------------------------------------------------------------------
Waitms 500
Goto Anfang
Loop
'-------------------------------------------------------------------------------
'===
End
'===
Mache ich irgendetwas komplett falsch :D ??
Danke!
Gruß, Björn
Ich möchte die Pulsbreite eines RC-Empfänger-Kanals auslesen, um später LEDs zu schalten. Hierbei wollte ich als Vorstufe einfach mal die Pulsbreite auslesen... Jedoch zeigt der Controller blind streuende Werte. Mein Code sieht so aus:
'================================================= ==============================
' Compiler
'================================================= ==============================
$regfile = "m32def.dat" 'Mega32
$crystal = 8000000 '8Mhz Quarz (intern)
$baud = 9600
'-------------------------------------------------------------------------------
'================================================= ==============================
' Ein- und Ausgänge
'================================================= ==============================
Config Pind.4 = Input 'Empfängersignal
'-------------------------------------------------------------------------------
'================================================= ==============================
' Variablen
'================================================= ==============================
Dim Pulsbreite As Byte
'-------------------------------------------------------------------------------
'================================================= ==============================
' LCD Parametrieren
'-------------------------------------------------------------------------------
Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.3 , Db6 = Porta.2 , _
Db7 = Porta.1 , E = Porta.5 , Rs = Porta.6
Config Lcd = 16 * 2
Cls
Cursor Off Noblink
'************************************************* ******************************
'* HAUPTPROGRAMM *
'************************************************* ******************************
Do
Wait 2
Anfang:
Pulsein Pulsbreite , Pind , 4 , 0 'Pulsbreite auslesen
'-- Pulsanzeigen ---------------------------------------------------------
Cls
Lcd "Puls: "
Lcd Pulsbreite
'-------------------------------------------------------------------------
Waitms 500
Goto Anfang
Loop
'-------------------------------------------------------------------------------
'===
End
'===
Mache ich irgendetwas komplett falsch :D ??
Danke!
Gruß, Björn