Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
11 years, 8 months ago.
How is mbed useful when transitioning to real uC programming?
Hi all, I am new to this forum so let me introduce myself I am a EE Graduate and I have an intrest in pursuing a career in Embedded field.
My question is that MBED looks more like an Arduino which is not really useful if I want to get into Embedded domain.I have an LPC1768 dev board and have seen that there is a vast difference when writting a simple programme like blink LED.
EX-:/REAL uC programming
SC->PCONP |=(1<<15); set system control
PINCON->PINSEL xxx|=(0<<x)|(0<<x); GPIO->FIODIR|=(1<<X);
WHILE(1) { ....
DELAY()
There is a lot of complexity involved when writing the above code you have to keep flipping datasheet and figure out each port,pin register etc....but in case of mbed just configure libraries thats all .So how is it reall possible to transition form arduino like IDE to real programming ...
1 Answer
11 years, 8 months ago.
This looks more like something for forum instead of a question, but let me start:
Quote:
My question is that MBED looks more like an Arduino which is not really useful if I want to get into Embedded domain
Why not?
Quote:
I have an LPC1768 dev board and have seen that there is a vast difference when writting a simple programme like blink LED.
Which is exactly why mbed exists. You don't want to have to do that entire list for something simple like blinking an LED. The library of course already does exactly the same under the hood, but if your boss wants a microcontroller which blinks an LED and outputs helloworld over a serial connection, he doesn't care if you did everything yourself or if just used a premade library (of course as long as you are allowed to use it in a commercial product, like mbed is). He is alot more interested in how long it took you to design it.
At the same time of course mbed isn't used everywhere. So if you want a career in embedded programming, you do need to know how to do it yourself (where to find it in datasheets, etc). But you can also program the hardware directly within the mbed environment, and still use mbed functions for other things. Sometimes you even don't have a choice, since libraries cannot do everything!
As random example, I wrote the sleep and deepsleep functions for the LPC812 and KL series. That is browsing datasheets and setting registers. However it doesn't only need to sleep, you also like to test if it can actually wake up from sleep and run properly. Now to do that I could either screw around with setting registers, or I define an InterruptIn and it is done for me. So even when programming the hardware itself, having the libraries to do everything else that needs to be done, but you don't want to worry about, help alot. Not in the least to help debugging by printing stuff to the serial terminal.