Hey,

ich habe ein Problem bei der Kommunikation von zwei Mikrocontrollern (einem Mega128 und einem Mega32). Dabei sendet der Mega128 dem Mega32 einen Befehl, dass dieser eine Led einschalten soll. Das Senden des Befehles vom Mega128 funktioniert, leider reagiert der Mega 32 nicht darauf. Die Beschaltung der beiden Megas ist richtig, also müsste es ein Software-Problem sein.
Könnte sich vielleicht jemand die beiden Quelltexte mal anschaun und sagen worin der Fehler steckt.
Vielen Dank im voraus.


Quelltext des Empfängers(Mega32):
Code:
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
$baud = 9600


Dim I As Byte

Config Pinc.0 = Output
Led Alias Portc.0

On Urxc Onrxd
Enable Urxc
Enable Interrupts

Main:
Do


Loop

End


OnRxD:
  I = Udr                                                   
  If I = "s" Then                                          
    Led = 1                                                
  else
    Led = 0
  endif
Return



Quelltext des Senders(Mega128):

$regfile = "m128def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
$baud = 19200
$baud1 = 9600

Open "com2:" For Binary As #2


'****SRF05****
Declare Sub Entfernungsmessung()

Config Pinb.7 = Output
       Portb.7 = 0

Dim Zeitmessung As Word
Dim Entfernung As Word


Enable Interrupts


Main:
Do

  Call Entfernungsmessung()

Loop

End



Sub Entfernungsmessung()

  Portb.7 = 0
  Pulseout Portb , 7 , 40
  Pulsein Zeitmessung , Pinb , 7 , 1
  Zeitmessung = Zeitmessung * 10
  Entfernung = Zeitmessung / 58
  If Entfernung < 10 Then
                        Print #2 , "s"
                     Else
                        Print #2 , "w"
  End If
End Sub
Code-Tags eingefügt (PicNick, Mod)