i am working on a project for the automatic power reading using gsm but getting some errors: please check the program and guide me
Build target 'Target 1' compiling codec.c... codec.c(2): warning C318: can't open file 'lcd.h' codec.c(3): warning C318: can't open file 'rtc.h' codec.c(5): warning C318: can't open file 'bcd2ascii.h' codec.c(6): warning C318: can't open file 'serial.h' CODEC.C(35): warning C206: 'lcdInit': missing function-prototype CODEC.C(36): warning C206: 'LCDstr': missing function-prototype CODEC.C(36): error C267: 'LCDstr': requires ANSI-style prototype Target not created
#include<reg52.h> #include <lcd.h> #include <rtc.h> #include<string.h> #include<bcd2ascii.h> #include<serial.h>
sbit sw1=P3^7; sbit sw2=P3^6; sbit sw3=P3^5; sbit buzzer=P2^3; sbit relay=P2^2; sbit rled =P3^4; sbit gled =P3^3; bit flag_sw,flagr=0;
static unsigned char k=0,s=0x84,*result,h,unit=0; unsigned char inc=23,check_flag=0,month_flag=0,month; unsigned char *time,*res; unsigned char idata byte1[100]; unsigned char *date,*u,i,j,a=0,b,c,d;
void main() { TMOD=0x20; // serial communication intialization TH1=0XFD;SCON=0X50;TR1=1;i=0; IE=0X91;IT0=0;
lcdInit(); // LCD intialization LCDstr("AUTOMATIC POWER",0x80); LCDstr("METER READING",0xc0); delay(2000);
gsm_check();gsm_rec(); //gsm modem intialization gled=0;rled=1;buzzer=1;relay=1;
while(1) //super loop {
//time display LCDstr("DATE ",0x80); LCDstr("TIME",0xc0); date=getDate(); LCDstr(date,0x86); time=getTime(); LCDstr(time,0xc6); flag_sw=0;delay(1000);
//units display putComL(0x01); LCDstr("UNITS=",0x80); putComL(0x86); unit=getCharE(0x15); u=bcdtoascii(unit); LCDstr(u,0x87);
delay(2000);
/**************checking********************/
a=getCharE(0x04); // gsm modem sending sms if(a>=28 ) { gsm_check(); delay(200); ES=0; unit=0; putCharE(unit,0x15); rled=0;gled=1; gsm_send(byte,"number"); }
//else case
if(a>=16 & d==c){month_flag=1;} else month_flag=0;month_flag=getCharE(0x20);
if(check_flag==0 & month_flag==1 &flagr==0){flagr=1;relay=0;rled=0;gled=1;buzzer=0;delay(100);buzzer=1;} else if(check_flag==1 ){ gled=0;rled=1;buzzer=1;relay=1;} delay(1000);
//receving sms for(j=0;j<100;j++) {if(byte1[j]=='*' &byte1[j+1]=='P' & byte1[j+2]=='A'& byte1[j+3]=='I'& byte1[j+4]=='D') {ES=0;LCDstr("received",0xc0); a=1;check_flag=1;putCharE(check_flag,0x10); gsm_rec(); }} //time setting
if(sw3==0){enter_time();} delay(1000);k=0;
}}
Please Guide Me...
Exactly what guiding do you feel you need?
codec.c(2): warning C318: can't open file 'lcd.h' codec.c(3): warning C318: can't open file 'rtc.h' codec.c(5): warning C318: can't open file 'bcd2ascii.h' codec.c(6): warning C318: can't open file 'serial.h'
Do you have such files?
You are including them with <> like:
#include <lcd.h> #include<string.h> #include<bcd2ascii.h> #include<serial.h>
Which would imply that they are files available in the standard include paths - but they are not part of the C standard so why do you expect the compiler to find them?
If you did copy code from an existing project that did use these files - why haven't you then also copied these files?
And remember that it isn't enough to have header files. You also need a library, object files or C/C++ files that contains the actual implementations of the functions.
In the end, this is standard C questions - how to make use of additional code modules written by someone else and get the compiler to find the header files, build all relevant source files and then link the program together with the extra modules.
Question also duplicated in thread: http://www.keil.com/forum/20821/
difference between #include <file> and #include "file"
Basic 'C' textbook stuff:
publications.gbdirect.co.uk/.../directives.html (scroll down to section 7.3.4)
c-faq.com/.../inclkinds.html
If you have written code with:
lcdInit(); // LCD intialization LCDstr("AUTOMATIC POWER",0x80); LCDstr("METER READING",0xc0);
Then you must have picked up that "lcdInit()" or "LCDstr()" somewhere.
That would be the place where you can also find the header files required.
Unless you have only seen partial code somewhere and cut/pasted without checking what you had access to. Then you have to start from scratch and write all functions for LCD access. Or go find other code to use instead.
But how about you start looking at the same place you originally "found" lcdInit() and LCDstr()...
And please - do stay in one (1) thread. New threads don't give you more answers. They only make people irritated - and irritated people tends to ignore things that irritates them.
There are clear, simple instructions on how to post source code - look at the picture: www.danlhenry.com/.../keil_code.png
Since you've now started three new threads, you have managed to miss that three times!
For any kind of programming, you really need to learn to read documentation and pay attention to details like that!
So, as Per said, go back to wherever you found this code, and carefully study all the documentation/instructions that accompanied it - in particular, how to set up your project.
You will also need to study the Keil Manuals: http://www.keil.com/support/man_c51.htm
In particular, the uVision manual - which includes tutorials showing you how to set-up a project: http://www.keil.com/support/man/docs/uv4/
More info here: http://www.keil.com/books/
More info here:
I think your good intentions are admirable.
However, at some point, we all have to recognize that no matter how hard we try, there will be people who are going to remain, ..., "intellectually challenged".
That's just life, as true for you today as it was for Don Juan DeMarco then.
so, respect the people, and respect their right to stupidity.
there will be people who are going to remain, ..., "intellectually challenged".
Of course. But we haven't established quite yet that this particular specimen is a really hopeless case. There are some serious errors in his ways, but he hasn't exhibited the tell-tale signs of incorrigibility yet.
Sir Thank you for Building up my Confidence again
I dont have project related to these header files, this is first project, and i want to understand each point of the programming. Please can you help me in finding these code from some existing projects. Please Also Tell me the Step by Step Process to copy these codes in the programming. sir Please also tell me the process step wise to Create these header files for the keil , if they are not Available.
Surely, that stuff you have posted: you must already have found that from "some existing projects" - you haven't just written it from scratch, have you?!
"Tell me the Step by Step Process to copy these codes in the programming"
What you need to learn is how to program - not how to copy code!
Just copying code is pointless if you don't understand the code - as you are now seeing!
Tips for starting here: blog.antronics.co.uk/.../
Step by step? I believe that process is called "learning" and it is your job - not ours. Please come back when and if you have specific questions.
i want to understand each point of the programming.
Hmm... doesn't look like that's true. So far you've only shown an interest in stealing stuff you don't understand out of programs that aren't yours, and complaining that it doesn't work.
If you want to learn how do do something, copying it will not do you (nor anyone else) any good.
Sir This is my first time. so i dont know where to strat from . thats why i am searching each word and try to find out the function of each line. just Please guide me, from where i can find out the basic for this programming. Thank you
So if you know no programming - start writing blinky applications or hello world applications. Don't start trying to make a LCD project...
Do you start learning about car mechanics by stripping the engine of a new car into pieces?
Thank you sir..
I have carefully read the Hello Program sir. And with The help of those steps , I understand the process to Create the target and how to run the program. Thank You very much