This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

how to fix error C202: 'PINC': undefined identifier

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

Parents
  • What does PINC do in the system you originally lifted the code from?

    Is it some AVR register, Keil doesn't make an AVR compiler. Review the functionality and port to your current ARM or 8051 system.

    Please also READ the instructions and tip with regard to posting source code, it might at least be legible then.

Reply
  • What does PINC do in the system you originally lifted the code from?

    Is it some AVR register, Keil doesn't make an AVR compiler. Review the functionality and port to your current ARM or 8051 system.

    Please also READ the instructions and tip with regard to posting source code, it might at least be legible then.

Children