Microcontroller › PIC › pic 18F452 interfacing with gps
- This topic has 0 replies, 1 voice, and was last updated 9 years, 8 months ago by Kaiwalya Anil Ghundare Patil.
Viewing 1 post (of 1 total)
-
AuthorPosts
-
February 23, 2015 at 3:53 pm #3489Kaiwalya Anil Ghundare PatilParticipant
Hello friends, I am working on my project of interfacing gps with pic 18f452.Please can anyone can help me by giving the working code.
My code is not working.
My code is as follows:
#include <p18f452.h>#pragma config OSC = HS#pragma config PWRT = OFF#pragma config WDT = OFF#pragma config LVP = OFF/*#define spbrg_value (((FREQ/64)/baud)-1)*/#define LCD_DATA PORTD //LCD data port#define lcdport PORTE //LCD signal port#define en PORTEbits.RE2 // enable signal#define rw PORTEbits.RE1 // read/write signal#define rs PORTEbits.RE0 // register select signal#define BUSY PORTDbits.RD7unsigned char rx_data();void lcd_ini(void);void lcdcmd(unsigned char);void lcddata(unsigned char);void Delay_ms(unsigned int time);char longi_data[12];char lati_data[12];unsigned char value,data=0;unsigned int i=0,pos;unsigned char rx_data(void){while(PIR1.RCIF==0); // Wait until RCIF gets lowRCREG=PORTD; // Store data in Reception register}void Delay_ms(unsigned int time){unsigned int i, j;for (i = 0; i < time; i++)for (j = 0; j < 350; j++);/*Calibrated for a 1 ms delay in MPLAB*/}void lcd_ini(void){lcdcmd(0x38); // Configure the LCD in 8-bit mode, 2 line and 5×7 fontlcdcmd(0x0C); // Display On and Cursor Offlcdcmd(0x01); // Clear display screenlcdcmd(0x06); // Increment cursorlcdcmd(0x80); // Set curso r position to 1st line, 1st columnreturn;}void lcdcmd(unsigned char cmdout){lcdport=cmdout; //Send command to lcdport=PORTBrs=0;rw=0;en=1;Delay_ms(10);en=0;}void lcddata(unsigned char dataout){lcdport=dataout; //Send data to lcdport=PORTBrs=1;rw=0;en=1;Delay_ms(10);en=0;}void main(){TRISB=0; //Configuring the PORTE pins as digital I/ORCSTA=0x90; //enable serial port and receiverSPBRG=15; //9600 baud rateTRISD = 0x00; //Configuring PORTD as outputTRISE = 0x00;// To enable continuous receptionlcd_ini();while(1){data=rx_data();; // Check the string '$GPGGA,'if(data=='$'){data=rx_data();if(data=='G'){data=rx_data();if(data=='P');{data=rx_data();if(data=='G');{data=rx_data();if(data=='G'){data=rx_data();if(data=='A'){data=rx_data();if(data==','){data=rx_data();while(data!=',')data=rx_data();for(i=0;data!='N';i++)data=rx_data();lati_data=data; // Store the Latitude data}data=rx_data();if(data==','){for(i=0;data!='E';i++){data=rx_data();longi_data=data; // Store the Longitude data}}i=0;lcdcmd(0x80);while(i<11){lcddata(lati_data); // Print the Latitude datai++;}i=0;lcdcmd(0xC0);while(i<12){lcddata(longi_data); // Print the Longitude datai++;}}}}}}}Delay_ms(1000);for(i=0;i<12;i++){data=0;lati_data=0;longi_data=0;}}}Error is:
G:kaiwalyacollege folderBE sem2m programsgpsmodifiedgpsmodified.c:30:Error [1151] struct or union object designator expectedPlease help -
AuthorPosts
Viewing 1 post (of 1 total)
- You must be logged in to reply to this topic.