i have this code for gps/gsm based tracking system. when i start building target it gives this error. help me to fix this error, thank you, my code is this:
//GPS Vehicle tracker #define F_CPU 12000000 //12Mhz #include <avr/io.h> //Header file for AVR device specific I/O Definitions. #include <avr/pgmspace.h> //Header file for incorporating program space string utilities. #include <util/delay.h> //Header file for incorporating delay routines. #include<inttypes.h>
#define USART_BAUDRATE 9600 #define BAUD_PRESCALE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1)
void WaitMs(unsigned int ms);
void usart_init(); unsigned int usart_getch(); void usart_writech(unsigned char data); void usart_message(unsigned char *var);
unsigned char value,i,lati_value[9],lati_dir, longi_value[10], longi_dir, final_message[30]; unsigned char deg = 0xB0;
int main() {
DDRC=0x00; PORTC=0xff;
usart_init();
while(1) { a: value=usart_getch(); if(value=='$') {
value=usart_getch(); if(value=='G') { value=usart_getch(); if(value=='P') { value=usart_getch(); if(value=='G') {
value=usart_getch(); if(value=='A') { value=usart_getch(); if(value==',') { value=usart_getch(); while(value!=',') { value=usart_getch(); }
for(i=0; i<9; i++) {
lati_value[i] = usart_getch();
} value = usart_getch();
lati_dir=usart_getch(); value=usart_getch(); for(i=0; i<10; i++) {
longi_value[i] = usart_getch(); } value = usart_getch();
for(i=1;value!=',';i++) { longi_value[i]=usart_getch();
value=longi_value[i]; } longi_dir=usart_getch(); } } } } } } if(*lati_value && *longi_value) { for(i=0; i<9; i++) { final_message[i] = lati_value[i];
}
final_message[9] = lati_dir; final_message[10] = ' '; for(i=0; i<10; i++) {
final_message[i+11] = longi_value[i]; }
final_message[21] = longi_dir; final_message[22] = '\0'; } else goto a; while(PINC==0xff); WaitMs(1000); usart_message("ATH"); WaitMs(50);
usart_message("AT+CMGF=1"); usart_writech(0x0D); WaitMs(20);
WaitMs(20); usart_message("AT+CMGS=\"+923439335663\""); usart_writech(0x0D); usart_message(final_message);//message usart_writech(0x1A); WaitMs(10000); goto a;
return 0;
void WaitMs(unsigned int ms) { unsigned int i;
for(i=0;i<=ms;i++) { _delay_ms(1); } }
void usart_init() {
UCSRB = (1 << RXEN) | (1 << TXEN);
// Use 8-bit character sizes UCSRC |= (1 << URSEL) | (1 << UCZS0) | (1 << UCZS1);
// Load lower 8-bits of the baud rate value into the low byte of the UBRR register UBRRL = BAUD_PRESCALE;
UBRRH = (BAUD_PRESCALE >> 8); }
unsigned int usart_getch() {
while (!(UCSRA & (1 << RXC)));
return(UDR); }
void usart_writech(unsigned char data) {
while(!(UCSRA & (1<<UDRE))); UDR = data; }
void usart_message(unsigned char *var) { int h; while(*var) usart_writech(var++); // send message for(h=0;h<=200;h++); }
error: project.c(118): error C202: 'PINC': undefined identifier Target not created. Build Time Elapsed: 00:00:00
I am working with the same code on avr studio, but after building the code i am getting these two errors 1]'UCZS0' undeclared (first use in this function) 2]'UCZS1' undeclared (first use in this function) which are in the - void usart_init() please help me with this asap!