Guten Morgen liebes Forum,

ich versuche einen ATMeg8 mit einem RN-42 http://www.watterott.com/de/Bluetooth-SMD-Module-RN-42 zu koppeln.

Das Modul selbst funktioniert, ich habe es über eine MySmartUSB 2 als UART Brücke an den PC angeschlossen und das funktioniert.
Ich habe die Baudrate per AT-Kommando auf 4800 gesetzt, da ich das Modul dann am ATMega8 ohne Quarz bei 1MHz betreiben kann. Für einen ersten Versuch reicht das.
Die Spannungsverorgung läuft ebenfalls über das MySmartUSB, es sind 3V.

Ich habe ein Bascom Programm geschrieben, dass eine empfangene Zahl um eins erhöht zurückschickt.
Wenn ich den Mega8 direkt über die UART Brücke an den PC anschließe funktioniert das einwandfrei.


Also, das Bascom Programm funktioniert, das Modul alleine funktioniert auch. Nur wenn ich die beiden zusammenschließe funktioniert es nicht.

Das LCD ist nicht angeschlossen, habe momentan nur eins für 5V einsatzbereit.
Anbei das Programm

Code:
$regfile = "m8def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 1000000

$baud = 4800

Declare Sub Serial0charmatch()

Config Serialin = Buffered , Size = 30 , Bytematch = 13
Config Serialout = Buffered , Size = 30
Enable Interrupts

Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , _
   Db7 = Portb.0 , E = Portb.7 , Rs = Portb.6
Config Lcd = 16 * 1a

Dim Empfangenedaten As Long
Dim Umrechnen As Long
Dim Datenempfangen As Long


Cls
Lcd "start"
Empfangenedaten = 10
Datenempfangen = 0


'als  Start der KOmmunikation muss ein Chip die ersten Daten schicken, etwas  Wartezeit, um sicher zustellen, das beide Chips laufen
Waitms 1000                                                 ' beim zweiten chip auskommentieren
'Print Empfangenedaten                                       ' beim zweiten chip auskommentieren


Do




     If Datenempfangen = 1 Then                             'nur wenn Daten empfangen wurden, wird etwas damit getan
       Waitms 1000
       Cls
       Lcd Empfangenedaten                                  'die Daten werden unverändert auf einem LCD ausgegeben

       Umrechnen = Empfangenedaten + 1
       Print Umrechnen                                      ' die veränderten Daten werden zurückgeschickt
       Lcd Umrechnen

       Datenempfangen = 0
       Clear Serialin                                       'der empfangspuffer muss geleert werden
     End If

Loop
End


Sub Serial0charmatch()
   Local Incoming_data As Long
   Input Incoming_data Noecho

   Empfangenedaten = Incoming_data
   Datenempfangen = 1                                       'hinweis: es wurden daten empfangen, tue etwas

End Sub


End

ich hoffe einer von euch hat eine Idee!


Crypi