Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
my own candid opinion is this. when i wanted start with microcontrollers (PIC) i searched for differnt books and i read through. what i found out is each author has a language of choice. so what i will suggest is try and get yourself books on microcontroller of your choice know how it works then you can now choose a language that is suitable for you to learn and the one you can easily manipulate. good luck
I would agree with what Watermelon said, strangely though no one else seems to agree!
I suggest you start with Assembly and don't learn too many instructions (just 10-15 everyday instructions like MOV,SET,CLR,JMP,etc are good enough).
1. Directly programming with assembly exposes you to the exact way the signal flows. Also, assembly programming is very straight forward.
2. There are no well defined programming constructs that you need to learn.
3. It is a LOT easier to interface with external ICs (like ADCs, DACs, etc) b/c the coding exactly follows what the datasheet for the chip says.
4. Then ofcourse, assembly coded programs are ALWAYS smaller than what C/C++ compiler translates your code into, and program memory is a scarce resource in microcontrollers. So, good coders should assembly as well as C/C++....that is why I suggest you start with assembly and then move on to C aftersome time. So, you'll be able to tweak your C compiler generated code using assembly.
If someone wanting to work with embedded design is afraid of a little learning and wants to skip the basics they'll have a hard time understanding why their code doesn't work as they expect.
For microcontrollers, it is important to know the hardware and peripherals included on the chip. It is much easier to learn using this hardware / peripherals when learning assembly.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.