#include "p30f4011a2.h" // dsPIC30F2010 MPU Register
#include "uart.h"
/* Setup Configuration dspic4011 */
_FOSC(CSW_FSCM_ON & XT_PLL16); // Enable Clock Switching,Enable Fail-Salf Clock
// Closk Source = Primary XT + (PLL x 16)
_FWDT(WDT_OFF); // Disable Watchdog
_FBORPOR(PBOR_ON & BORV_45 & PWRT_64 & MCLR_EN); // Enable Brown-Out = 4.5V,Power ON = 64mS,Enable MCLR
_FGS(CODE_PROT_OFF);
unsigned char Rx;
unsigned char Longitude[9];
unsigned char Latitude[9];
unsigned char Buffer[80];
int main(void)
{
init_uart1(); // Initialise USART module (8 bit,4800 baud rate, no parity bit..)
i=0;
k=0;
while(1)
{
if(DataRdyUART1())
{
Rx = ReadUART1();
if(Rx == '$') {k=1;i=0;} // when '$' is detected
if( (k==1)) {
Buffer[i] = Rx;
i++;
}
if(Rx == '\r') {
i=0;
k=0;
//----------- .... Loading Data ... --------------------------
if((Buffer[4] == 'G')&&(Buffer[5] == 'A'))
{
for(mm=0;mm<=8;mm++) {
Latitude[mm]=Buffer[mm+18];
Longitude[mm]= Buffer[mm+31];
}
putsUART1((unsigned int*) Latitude);
putsUART1((unsigned int*) Longitude);
}
}
}