SparkFun Forums 

Where electronics enthusiasts find answers.

Tips and questions relating to the GPS modules from SFE
By jneice

This post is similar to:
viewtopic.php?p=27145&sid=20d8d24ed2c60 ... ef697cb815
but my PIC is reading garbage from the GPS.

I'm trying to connect an Evermore EB-E36 GPS to my PICDem FS USB Demo board. (The EB-E36 is similar to the EB-85A sold on SparkFun, just slower baud and less accurate)

I am using the MCC18 USART functions...

void main (void)
unsigned char x;


while( 1 )
if( DataRdyUSART() )
x=RCREG; // Received data
/* Do something with the new data here */

I only have the GPS TX pin connected to a RX pin on the PIC. (And a pullup resistor.) The output from the GPS in garbage, it looks nothing like the datasheet specs.

I believe I have the baud rate right - I have a 20MHz crystal on the PICDem board, and the GPS is output 4800 baud.

Am I missing something?
Do I need more pin connections to the PIC other than the GPS TX?
Do I need to be error checking any flags from the USART?

By jasonharper
You may have a 20 MHz crystal, but that doesn't necessarily mean the PIC's clock frequency is 20 MHz - the USB PICs have a fancy PLL system that allows them to run at 48 MHz (as needed to support full-speed USB) even with a much slower crystal.

Either recalculate your baud rate value for a 48 MHz clock, or change the config words to turn off the PLL.