srspinho
- 27th April 2006, 16:44
Hi Friends,
Hi friends,
I have a GlobalSat ET-102 with serial output
I´m connecting it to PIC microcontroller (please, see conde bellow) and I´m just receiving not valid GPGGA messages. (only GPGGA messages all the time)
I´m not sure if my PIC software is ok or not. So, I Would like to connect the GPS board to my PC serial port in order to check the messages with GPSInfo.exe supplied by the GlobalSat
I´m connecting the GPS gnd to serial port Gnd and the GPS´s TXA pin to RX´s serial port.
Is that right and enough ?
PIC => 16F877a @ 10 Mhz
My Code :
Define LCD_DREG PORTA
Define LCD_DBIT 0
Define LCD_RSREG PORTB
Define LCD_RSBIT 4
Define LCD_EREG PORTB
Define LCD_EBIT 5
define OSC 10
Rem Variables
hh var byte
'Allocate Variables for GPS:
tens VAR BYTE 'GPS results
digits VAR BYTE
tenth VAR BYTE
knots VAR WORD
fps VAR WORD
fpm VAR WORD
GPSin VAR PORTB.1
''''''''''''''''''''''''''''''''''''''''''''
' Variable Definitions
''''''''''''''''''''''''''''''''''''''''''''
'
timeH var byte(2)
timeM var byte(2)
timeS var byte(2)
latD var byte(2)
latM var byte(2)
latS var byte(2)
latH var byte
lonD var byte(3)
lonM var byte(2)
lonS var byte(2)
lonH var byte
sats VAR BYTE(2)
sats2 VAR BYTE(2)
sats3 VAR BYTE(2)
sats4 VAR BYTE(2)
sats5 VAR BYTE(2)
sats6 VAR BYTE(2)
sats7 VAR BYTE(2)
sats8 VAR BYTE(2)
sats9 VAR BYTE(2)
sats10 VAR BYTE(2)
sats11 VAR BYTE(2)
sats12 VAR BYTE(2)
Dia var byte(2)
Mes var byte(2)
Ano var byte(2)
spdI var byte
spdD var byte(2)
head var byte(3)
mon var byte(2)
day var byte(2)
yr var byte(2)
stat var byte
G var byte
D var byte
M var byte
A var byte
F var byte
GPGGA_IN var word
TEMPWORD var word
REPEAT var byte
DEBOUNCE var byte
CMDACK var byte
teste = 1
INTCON 0.7 = 1 ' START THE WHOLE THING RUNNING
Pause 500
inicio:
lcdout $FE,1
lcdout "inicializando-", dec teste
Pause 30
GPS:
timeH = 0
timeM = 0
timeS = 0
stat = 0
sats = 0
latD = 0
latM = 0
latS = 0
latH = 0
lonD = 0
teste = 0
Rem Reading some data in order to test
SERIN2 GPSIN,188,2000,Nogps,[WAIT("$"),str sats\1, STR sats2\1, STR sats3\1, STR sats4\1,_
str sats5\1, str sats6\1,str sats7\1, str sats8\1,_
str sats9\1, str sats10\1, str sats11\1, str sats12\1,_
skip 5, str dia\2, str mes\2, skip 26, str ano\2 ]
lcdout $FE,1
disp:
lcdout $FE,1, sats, sats2,sats3,sats4, sats5, sats6, sats7, sats8, sats9, sats10,sats11, sats12, dia, mes, ano
lcdout $FE, $C0, latD,"-",latm,"-",lats, "-",lath, "-",lond,
Pause 10000
GoTo GPS
Nogps:
LCDOut $FE, 1
LCDOut "No GPS"
Pause 2000
teste = teste + 1
LCDOut $FE, 1
GoTo inicio
Thanks
Sérgio Pinheiro (Brazil)
Hi friends,
I have a GlobalSat ET-102 with serial output
I´m connecting it to PIC microcontroller (please, see conde bellow) and I´m just receiving not valid GPGGA messages. (only GPGGA messages all the time)
I´m not sure if my PIC software is ok or not. So, I Would like to connect the GPS board to my PC serial port in order to check the messages with GPSInfo.exe supplied by the GlobalSat
I´m connecting the GPS gnd to serial port Gnd and the GPS´s TXA pin to RX´s serial port.
Is that right and enough ?
PIC => 16F877a @ 10 Mhz
My Code :
Define LCD_DREG PORTA
Define LCD_DBIT 0
Define LCD_RSREG PORTB
Define LCD_RSBIT 4
Define LCD_EREG PORTB
Define LCD_EBIT 5
define OSC 10
Rem Variables
hh var byte
'Allocate Variables for GPS:
tens VAR BYTE 'GPS results
digits VAR BYTE
tenth VAR BYTE
knots VAR WORD
fps VAR WORD
fpm VAR WORD
GPSin VAR PORTB.1
''''''''''''''''''''''''''''''''''''''''''''
' Variable Definitions
''''''''''''''''''''''''''''''''''''''''''''
'
timeH var byte(2)
timeM var byte(2)
timeS var byte(2)
latD var byte(2)
latM var byte(2)
latS var byte(2)
latH var byte
lonD var byte(3)
lonM var byte(2)
lonS var byte(2)
lonH var byte
sats VAR BYTE(2)
sats2 VAR BYTE(2)
sats3 VAR BYTE(2)
sats4 VAR BYTE(2)
sats5 VAR BYTE(2)
sats6 VAR BYTE(2)
sats7 VAR BYTE(2)
sats8 VAR BYTE(2)
sats9 VAR BYTE(2)
sats10 VAR BYTE(2)
sats11 VAR BYTE(2)
sats12 VAR BYTE(2)
Dia var byte(2)
Mes var byte(2)
Ano var byte(2)
spdI var byte
spdD var byte(2)
head var byte(3)
mon var byte(2)
day var byte(2)
yr var byte(2)
stat var byte
G var byte
D var byte
M var byte
A var byte
F var byte
GPGGA_IN var word
TEMPWORD var word
REPEAT var byte
DEBOUNCE var byte
CMDACK var byte
teste = 1
INTCON 0.7 = 1 ' START THE WHOLE THING RUNNING
Pause 500
inicio:
lcdout $FE,1
lcdout "inicializando-", dec teste
Pause 30
GPS:
timeH = 0
timeM = 0
timeS = 0
stat = 0
sats = 0
latD = 0
latM = 0
latS = 0
latH = 0
lonD = 0
teste = 0
Rem Reading some data in order to test
SERIN2 GPSIN,188,2000,Nogps,[WAIT("$"),str sats\1, STR sats2\1, STR sats3\1, STR sats4\1,_
str sats5\1, str sats6\1,str sats7\1, str sats8\1,_
str sats9\1, str sats10\1, str sats11\1, str sats12\1,_
skip 5, str dia\2, str mes\2, skip 26, str ano\2 ]
lcdout $FE,1
disp:
lcdout $FE,1, sats, sats2,sats3,sats4, sats5, sats6, sats7, sats8, sats9, sats10,sats11, sats12, dia, mes, ano
lcdout $FE, $C0, latD,"-",latm,"-",lats, "-",lath, "-",lond,
Pause 10000
GoTo GPS
Nogps:
LCDOut $FE, 1
LCDOut "No GPS"
Pause 2000
teste = teste + 1
LCDOut $FE, 1
GoTo inicio
Thanks
Sérgio Pinheiro (Brazil)