trojanL
Newbie level 3
hi, can anyone solve my pic programming error here, i am new in programming language. i hope there someone could help me....;-)
this is my code,i write it in c basic and want to program it in pic16f877a interfaced with gsm phone and max 232 as the signal converter. i get this error>> Error [500] ; 0. undefined symbols:
_DataRdyUART1(fyp2.obj) _getsUART1(fyp2.obj) _WriteUART1(fyp2.obj)
i know that it was because of the uart header i use didnt define those things, then i came with conclusion maybe i use wrong uart operand for the pic.. and my program also have many warning, it is OK to ignore the warning or i should take caution to it?
#include <pic.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include "uart.h"
#use delay(clock=20000000)
#use rs232(baud=38400,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,errors)
#define __CONFIG & _BODEN_OFF & _CP_OFF & _DEBUG_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _HS_OSC
//TXSTA: 0x24;
//RCSTA: 0x96;
void sms_read();
void send();
void main();
void init();
char low;
unsigned char output[25];
unsigned char reply[25];
unsigned char temp[25];
const char msg1 = "high traffic";
const char msg2 = "medium traffic";
const char msg3 = "low traffic";
const char msg4 = "wrong instruction";
const char data1 = "Traffic condition";
void main()
{
WriteUART1("AT\n\r");
_delay(500);
WriteUART1("AT+CMGS='ME'");
_delay(500);
WriteUART1("AT+CMGF=1\n\r");
_delay(500);
sms_read();
}
void sms_read()
{
WriteUART1("AT+CMGR=1\n\r");
_delay(500);
while (1) {
if (DataRdyUART1() == 1) // if data is received
{
*(temp)=getsUART1();
if (strcmp(temp,data1)==0)
{
void send();
{
low = 0;
PORTE = 1;
int i;
WriteUART1("AT+CMGS=");
WriteUART1(0x22);
WriteUART1("+0149521517");
WriteUART1(0x22);
WriteUART1("\n\r");
_delay(500); // sends back text
if (RE0 = low);
{
strcpy(*(reply),msg1);
}
if (RE1 = low);
{
strcpy(*(reply),msg2);
}
if (RE2 = low);
{
strcpy(*(reply),msg3);
}
WriteUART1(reply[25]);
WriteUART1(26);// send ctrl + Z
}
}
else
{
WriteUART1("AT+CMGS=");
WriteUART1(0x22);
WriteUART1("+0149521517");
WriteUART1(0x22);
WriteUART1("\n\r");
_delay(500); // sends back text
strcpy(*(reply),msg4);
WriteUART1(reply[25]);
WriteUART1(26);// send ctrl + Z
}
}
else
{
sms_read();
}
}
}
this is my code,i write it in c basic and want to program it in pic16f877a interfaced with gsm phone and max 232 as the signal converter. i get this error>> Error [500] ; 0. undefined symbols:
_DataRdyUART1(fyp2.obj) _getsUART1(fyp2.obj) _WriteUART1(fyp2.obj)
i know that it was because of the uart header i use didnt define those things, then i came with conclusion maybe i use wrong uart operand for the pic.. and my program also have many warning, it is OK to ignore the warning or i should take caution to it?
#include <pic.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include "uart.h"
#use delay(clock=20000000)
#use rs232(baud=38400,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,errors)
#define __CONFIG & _BODEN_OFF & _CP_OFF & _DEBUG_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _HS_OSC
//TXSTA: 0x24;
//RCSTA: 0x96;
void sms_read();
void send();
void main();
void init();
char low;
unsigned char output[25];
unsigned char reply[25];
unsigned char temp[25];
const char msg1 = "high traffic";
const char msg2 = "medium traffic";
const char msg3 = "low traffic";
const char msg4 = "wrong instruction";
const char data1 = "Traffic condition";
void main()
{
WriteUART1("AT\n\r");
_delay(500);
WriteUART1("AT+CMGS='ME'");
_delay(500);
WriteUART1("AT+CMGF=1\n\r");
_delay(500);
sms_read();
}
void sms_read()
{
WriteUART1("AT+CMGR=1\n\r");
_delay(500);
while (1) {
if (DataRdyUART1() == 1) // if data is received
{
*(temp)=getsUART1();
if (strcmp(temp,data1)==0)
{
void send();
{
low = 0;
PORTE = 1;
int i;
WriteUART1("AT+CMGS=");
WriteUART1(0x22);
WriteUART1("+0149521517");
WriteUART1(0x22);
WriteUART1("\n\r");
_delay(500); // sends back text
if (RE0 = low);
{
strcpy(*(reply),msg1);
}
if (RE1 = low);
{
strcpy(*(reply),msg2);
}
if (RE2 = low);
{
strcpy(*(reply),msg3);
}
WriteUART1(reply[25]);
WriteUART1(26);// send ctrl + Z
}
}
else
{
WriteUART1("AT+CMGS=");
WriteUART1(0x22);
WriteUART1("+0149521517");
WriteUART1(0x22);
WriteUART1("\n\r");
_delay(500); // sends back text
strcpy(*(reply),msg4);
WriteUART1(reply[25]);
WriteUART1(26);// send ctrl + Z
}
}
else
{
sms_read();
}
}
}