hello hey can any one please provide me a complete program ( in "C") of sending a SMS from a GSM modem to an 8051 microcontrolleer. for example: I want to turn on a light with the help of 8051 using an SMS. If possible also provide me the circuit diagram of interfacing between GSm modem and 8051. PLz help meee
Thank you...
So don't you think it would be better to start with the basics and learn 'C' ?
http://www.keil.com/books/
Or, if you're not interested in doing it yourself, you'll have to pay someone to do it for you:
http://www.keil.com/condb/
its not the school its in a company where im working now. actually im familiar with assembly language programming but our boss needs a C prog. so now its a problem coz he is not accepting assembly language programming.I have all my hardware stuff ready and i have to hold on because of this.. so please if u could provide me with the code.Because to study "C" and then create a prog will take a lot of time and i have to show him atleast one demo before 1st week of feb. ( atleast one fan or light shld turn on).
you askd for very compliceted code.
yes. i am very good in c and i can help u.
what is teh email? i will look.
-------
Zeusti
Cheif Software Manager
There is this saying about C: "A minute to learn, a lifetime to master". In short - it should be trivial to spend a couple of days with a C language book, and then write a tiny application that will turn on/off a fan or whatever you need.
The code examples already available with the Keil compiler should be a good starting platform.
Master Zeusti: If you can't have the intelligence to write funny posts, then please stop post the most fucked up posts this forum is probably every likely to see. A bright person can post very, very funny messages when implersonating a fool. But with you, it is impossible to know if you are a person who thinks you are clever and thinks that you are impersonating a fool (in a totally failing way), or if you really are as stupid as your posts indicate (which would place you very high on the top-ten most stupid visitors to this forum).
In the end, your ramblings just confuses real users who do want help. If you can't post one single sentence that actually helps someone, or is a meaningful question, then maybe it is time that you renew your subscription to Donald Duck or something...
"But with you, it is impossible to know if you are a person who thinks you are clever and thinks that you are impersonating a fool (in a totally failing way), or if you really are as stupid as your posts indicate (which would place you very high on the top-ten most stupid visitors to this forum)."
We have our own little "Han from China" (a reference to an individual that has been mercilessly trolling on Usenet's comp.lang.c for quite some time now), although not nearly as bright as Han.
A really bright troll can make it well worth it login in the morning - just to enjoy the creativity and wit. But this is more a question of whit.
So you want someone to do the work for you - for free - while you get paid for it?!
"im familiar with assembly language programming but our boss needs a C prog"
So your boss has 3 choices:
1. Hire a 'C' programmer (whether on a permanent or "consultant" basis);
2. Train you to become a 'C' programmer;
3. Work within the capabilities of his staff.
"i have to show him atleast one demo before 1st week of feb"
You haven't lied to him and told him that you are a 'C' programmer, when you aren't, have you...?
actually im familiar with assembly language programming but our boss needs a C prog
no offence, but I simply don't believe you.
I believe him. I went from being a pure electronics guy to embedded systems using 'binary' as my first 'language' (1802 and then the IMSAI 8080).
I tired of doing the hand-assembly into binary patterns, and got an assembler (for the 8080 & Z80, and still have my Lance Leventhal book on Assembly Language), and then when Intel came out with the CMOS 80C51, I 'decided' (a funny story there) to learn "C."
Generally, us 'old' guys learned it (programming) from the transistor up, as opposed to some of these 'noobs' and "Computer Science" guys who have the luxury of learning this mid-level language in a classroom setting with all of 'our' hard earned lessons learned back in the day. Note: I had co-workers and friends who were in the original ANSI groups trying to develop an official "ANSI C." (Honestly, these guys were indeed geniuses--I was lucky to learn from them).
Andy is 100% right (as usual). Mr "maulik mehta" (OP) has a situation where his boss has choices. As long as the OP didn't claim "C" knowledge, or commit to having a 'C' version so soon, then his boss has the problem, and not him.
At this point, the only real way to help him out is to two things:
1) re-iterate Andy's post and tell Mr. OP to inform his boss of those choices as Andy describes, and 2) direct him to a search site like
www.google.com/codesearch
or possibly go to
http://www.8052.com
and search their 'free' code.
A bit of warning on that, you'll have to be capable of getting through some rudimentary "Blinky" code on the Keil platform, like Per Westermark said, and shoe-horn in what you may have acquired in your search efforts.
Then tell your boss to expect it to fail the Dog-and-Pony show in early Feb.
You'll also need to revisit your Project Plan and identify where you and your boss failed to account for your in-house capabilities and what you committed to doing.
Miller's Law: "Resist All Temptation to Increase Expectation" (Mr. Miller is an old mentor of mine, and one of those 'genius' people).
--Cpt. Vince Foster 2nd Cannon Place Fort Marcy Park, VA
The trouble is: even if he finds free (or even non-free) 'C' code, what is he going to do with it if he doesn't understand 'C'?!
To re-state the choices in a slightly different form, they are:
1. Buy it; 2. Revise the timescale to allow for the 'C' learning curve; 3. Revise the requirements and do it in Assembler.
But the interesting thing is still: - you can learn to read and understand C in just days. - you can spend years perfecting the C skills, and still not produce truly beautiful (and of course also well-working) code.
Someone who know assembler will know about the hardware that C will have to map agains, so such a person will have an easy time seeing all SFR writes when the C code initializes a serial port or a timer. And knowing assembler, it will be quite obvious what an ISR does (even if an __interrupt keyword hides the prologue/epologue the assembler code would have needed).
Since it is easy to learn to read C, it should also be easy to learn how to cut/paste existing blocks into a larger program. Problems will happens first when multiple code blocks needs to be run semi-concurrently with a limited set of processor resources available. Such things takes skill and careful design work - and that careful design work requires true knowledge of the language, and not just reading skills.
But since a large part of all embedded systems do not require hard real-time, and do not need the processor to run at very high utilization levels, most developers manages to get by even if they are lousy embedded deverlopers, or only have limited knowledge of the language they are using or the target processor. Really bad things starts to happen when the boss assumes that just because product A and B did seem to work, he must be the manager of a competent team, and then activates project C, where the complexities are high, or where the hardware is only marginally capable of fulfilling the task (remember that it takes a skilled embedded developer to make a qualified guess about how high the utilization will be of the finished product while still on the planning stages).
So in the end: If this is a critical product, then it is better to buy competence. If the company can live with the learning time (if you know n languages, then the n+1th language is normally very easy to learn, but the first one is almost always a true pain to learn) to get own developers capable of writing applications of acceptable quality and capacity, then it is better to say that you need more time, and then start a very accelerated learning cycle.
In neither case is "give me code" a working solution. Working code is only working if you know exactly what it does, and more importantly: why it does it. That requires that you can read the language, and that you can translate from the source code and back into the datasheets and verify line-by-line exactly what the code does, and how the code matches the datasheet requirements.
I certainly don't think that the OP will be able to learn C, get Blinky running and incorporate his "internet code" in time for an early Feb showing. Hence my "expect it to fail" comment.
Who has ever used code from the internet without knowing how it does what it does? Oh, that's right: students (and the guy that did my TV cable box).
Andy's re-list is apt, while Per's is the safest course of action: "If this is a critical product, then it is better to buy competence."
"...post the most f%@!#d up posts..." So, Per opened a can of sardines on "Master Zeusti"? -- Much enjoyed.
At the risk of having this being taken the wrong way, I feel this has to be said:
Is there a way for you people to make some of these comments sticky on this forum.
I come here occasionally to see what's been occuring and so frequently see almost the same comments being made by the same people.
Only if it's basically similar to the other n languages.
I get the impression that Assembler is the OP's only language; moving to a high-level language - any HLL - is quite a large step. But, thereafter, learning another HLL will be much easier...
As you say, knowing assembler will be some help - but not as much as knowing another HLL.
I don't consider assembler a programming language. To me, it is just a set of mnemonics.
So, in this case C is most probably the first language. And the first language normally takes a lot of time to learn and understand. Especially pointers, arrays, and the importance of evaluation order.
When you do know n languages, where n is starting to get big, then even "strange" languages will have pieces that are similar with the already known languages. The first functional language will feel strange, but the second or third will just be different writings of known concepts.
In this case, the big value with knowing assembler is that it helps with pointers, and it helps with understanding what SFR are and what makes a processor tick. Knowledge of assembler also allows the user to realize why a trivial C source line may expand into a large number of assembler instructions, or into function calls to helper functions. It is so easy to think that a source code line that looks trivial really is trivial for the processor. There should be a law that every programmer has to implement a division routine in assembler - especially since all that code represents a single little forward slash character in the HLL.
Trevor: Yes, sticky threads would be nice. But we are just end users, so we would not be allowed to edit them, or make them sticky.
Keil already have their own way to handle common questions. They have a number of FAQ pages that contains links to one or more forum threads that does cover the specific question. But it requires the users to use the search function, and a lot of Keil visitors have a policy that search engines must not be used.