One best way to learn Embedded programming is to catch hold on one microcontroller and then explore all its features. Let's say you start with LPC1768 from NXP. Its a ARM cortex M3 based microcontroller.
for more details, check below link.
https://os.mbed.com/platforms/mbed-LPC1768/
After we freeze the microcontroller, we can begin exploring in the following order,
1. Clock Unit
PLL
Configuring clock unit for different frequency
Check the clock pulse on CRO
2. GPIO
Usage of GPIO registers
Reading Switch input
Driving a LED, Buzzer, Relay
3. WDT- Need
How it works
WDT configuration
4. Interrupt system
Different kinds of interrupts
Use of ISRs
Interrupt Latency
5. ADC introduction
Configuration of ADC
Use of different ADC modes
Reading a analog input at a pin
6. Timer Basics
Application of timers
Input capture
Output compare
Timer configuration for diff modes
7. PWM introduction
PWM registers
PWM generation
Control intensity of light
Control speed of motor
8. Serial communication introduction
UART & its registers
Programming a UART and establishing communication with serial terminal.
9. SPI protocol
SPI registers
Programming SPI
10. I2C Protocol
I2C registers
Programming I2C
11. RTC introduction
RTC configuration
Programming RTC for time keeping.
for more details, check below link.
https://os.mbed.com/platforms/mbed-LPC1768/
After we freeze the microcontroller, we can begin exploring in the following order,
1. Clock Unit
PLL
Configuring clock unit for different frequency
Check the clock pulse on CRO
2. GPIO
Usage of GPIO registers
Reading Switch input
Driving a LED, Buzzer, Relay
3. WDT- Need
How it works
WDT configuration
4. Interrupt system
Different kinds of interrupts
Use of ISRs
Interrupt Latency
5. ADC introduction
Configuration of ADC
Use of different ADC modes
Reading a analog input at a pin
6. Timer Basics
Application of timers
Input capture
Output compare
Timer configuration for diff modes
7. PWM introduction
PWM registers
PWM generation
Control intensity of light
Control speed of motor
8. Serial communication introduction
UART & its registers
Programming a UART and establishing communication with serial terminal.
9. SPI protocol
SPI registers
Programming SPI
10. I2C Protocol
I2C registers
Programming I2C
11. RTC introduction
RTC configuration
Programming RTC for time keeping.