Hi guys,
I recently have brought a new up501 GPS shield to use with my Arduino Due.
I mounted the shield on a bread board as to avoid any pin conflict that might come up because of the SPI configuration of the two boards.
I have also hooked up the shield with jumper wires to connect the TX and RX to Arduino Due's pins D14 and D15 which are for Serial3 .
I have the power and ground pins connected via jumper wires as well, but it seems that i cannot retrieve any data.
Here are the test code and results
void setup()
{
Serial.begin(9600);
Serial3.begin(9600);
Serial.println("-------------------------------------------------------------------------------------------------------------------------------------");
}
void loop()
{
Serial.println("loop");
pollGPSData();
}
static void pollGPSData()
{
long start = millis();
do {
while (Serial3.available())
{
char c = Serial3.read();
Serial.write (c);
}
} while (millis() - start < 1000);
Serial3.flush();[hr]
}
The code result are the following
-------------------------------------------------------------------------------------------------------------------------------------
loop
loop
loop
loop
loop
loop
loop
loop
I believe that the PPS pin has a constant output which i have verified putting a jumper from PPS pin to TX pin. now I'm getting raw data...
-------------------------------------------------------------------------------------------------------------------------------------
loop
loop
loop
loop
loop
loop
loop
loop
$GPGGA,003320.036,,,,,0,0,,,M,,M,,*4F
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GP0M0.05loop
$GPGGA,003321.036,,,,,0,0,,,M,,M,,*4E
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GP0M0.04loop
$GPGGA,003322.036,,,,,0,0,,,M,,M,,*4D
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GP0,3.1
loop
My question is, Why can't I read data without using the PPS pin?
I know that the pins are configured as follows:
pin 1-->TX
pin2 -->RX
pin3 -->GRD
pin4--> main VDD
pin5-->backup VDD (shorted with pin 4)
pin 6-->PPS
Have I missed something?
Thanks in advance.