Hallo,
hoffe mir kann jemand helfen .
Baue mir gerade ein GPS Gerät für z.B. Geocaching mit Touchscreen. Mit einer festen Koordinate funktioniert bereits alles, Entfernung, Winkel etc.
Das Modul funktioniert einwandfrei am PC und ist das NAVILOCK NL-650ERS mit Ublox6 chip. Ohne das Modul läuft auch mein Menü, Touchauswahl alles top. Sobald ich aber den TXD vom GPS-Modul mit RXD am Atmega32 verbinde. Zeigt das Display abwechselnd Streifen, ist mal ganz schwarz, zeigt gar nichts und so weiter.. Hab den Code mal aufs geringste reduziert. Finde keinen Fehler.
Das GPS ist ein RS232 Modul . Habe das Buch von Stefan Hoffman, da wird ein ähnliches auch direkt am Controller angeschlossen. Gibt es irgendwelche Fusebits die man einstellen muss. Oder muss man Pin14 und 15 (auch PD0 und PD1) erst als TXD RXD Softwareseitig definieren? Doch eigentlich nicht, oder? An was kanns liegen?
Hier ist der Code:
Code:
$regfile = "M32def.dat"
$crystal = 16000000
$baud = 38400
$hwstack = 70
$swstack = 65
$framesize = 40
$lib "glcdLC7981.lib"
Config Serialin = Buffered , Size = 100 ' Konfig. der ser. Eingabe
Enable Interrupts
Config Graphlcd = 128 * 64sed , Dataport = Portb , Controlport = Portc , Ce = 5 , Cd = 2 , Rd = 3 , Enable = 4 , Reset = 6 , Mode = 8
Cls
Setfont Font8x8
Dim Gelesen As Byte 'eingelesenes Zeichen
Dim Teilstring(14) As String * 12
Dim Anzahl As Byte
Dim Gpsdaten As String * 98
Dim Header As String * 6
Dim Stunde As Byte
Dim Tempstring As String * 2
Const Sommerzeit = 0
Lcdat 73 , 1 , "GPS - TEST - Navilock"
Do
Gelesen = Inkey()
If Gelesen = 36 Then Input Gpsdaten Noecho '36 = $
Header = Mid(gpsdaten , 1 , 5)
If Header = "GPRMC" Then
Cls
Anzahl = Split(gpsdaten , Teilstring(1) , ",")
Gpsdaten = ""
Lcdat 40 , 1 , "TEST:" ; Teilstring(5) 'sollte ein N zeigen
End If
Loop
End
$include "font8x8.font"
Danke schonmal für die Unterstützung
Lesezeichen