Ich versuche schon längere Zeit (einige nächtliche Stunden) das ich das PPM Signal von einem Modelbau-Empfänger(35Mhz) auf den Mega8 bringe, nur es will nicht funktionieren.
So ein s....

Zur zeit hab ichs direkt auf den "int0" (Interrupt) Eingang des Atmels versucht.
Ich habe zwar den Port auf "input"
gestellt. Aber er erkennt nichts, weder im interrupt Modus wo ein timer zurückgesetzt werden sollte sobald eine fallende Flanke kommt.
Noch wenn ich den Port per stinknormalen Abfrage in einer Schleife abfrage.

Das Oszi aber sagt mir das die Pausen je nach Steuerknüppelstellung 1-2 Millisekunden dauern. Also das Signal vom Empfänger ist da.
Dann dachte ich der mega8 kommt mit dem Pegel nicht klar. Und ich habe das Signal mit einem Transistor Invertiert.
... Leider fehlanzeige ist funktioniert nicht.

Folgenden Code habe ich mir dafür zusammengestöpselt. -->

Habt ihr ne Ahnung was ich da falsch mache ? Ich weis nicht mehr weiter

Code:
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600

'======================================================
'Declarations
'======================================================

Dim Rc_value As Word


'======================================================
'Configurations
'======================================================

'I/O-Ports
Config Portd = Input
'Interrup 0
Config Int0 = Falling                                       'timing of pulses on negative flank

'Configuration of timer 1 (16 bit)
Config Timer1 = Timer , Prescale = 8


'Interrupt-Service-Routines
On Timer1 Signal_down                                       'overflow of timer occurs when the signal is down
On Int0 Read_signal                                         'On int0 timing of the signal pulses

'======================================================
'Initialisations
'======================================================
'Timer-release
Enable Timer1

'Release of interrupts
Enable Int0
Enable Interrupts
'Variables
Rc_value = 0

'======================================================
'Main program
'======================================================
 Dim I As Integer

Do

Print Rc_value
Waitms 120

Loop

End

'******************************************************
'Interrupt Service Routines
'******************************************************
Read_signal:
   Rc_value = Timer1                                        'First thing: store the timer value in an intermediate variable.
   Timer1 = 0                                               'Then reset the timer
      Print Rc_value
                                 'set the signal up flag
Return


Signal_down:                                                'if no signal is detected for 65 ms
Print "  Signal Down"                                       'reset number of syncpulses passed
Return