CPU Core - Executes instructions, handles data processing, and control tasks
Memory (RAM, ROM, FLASH) - RAM stores data temporarily, ROM stores firmware and instructions permanently, FLASH is non-volatile memory storing program code
I/O Ports - Facilitate communication with external devices, enable data exchange between microcontroller and external world
Timers/Counters - Generate precise time delays and count external events, essential for tasks like PWM signal generation and timing control
ADC (Analog-to-Digital Converter) - Converts analog signals into digital data for processing
PWM (Pulse Width Modulation) - Generates analog-like signals by varying pulse width, useful for controlling motors, LEDs, etc.
Serial Communication Interfaces - UART, SPI, I2C enable communication with other devices, facilitate serial data transfer over longer distances
Serial Port - Provides UART, SPI, I2C interfaces for external device communication
Interrupts - Temporarily halt normal program flow to handle specific events, allows quick response to external stimuli without continuous polling
DAC (Digital-to-Analog Converter) - Converts digital signals into analog voltages or currents, used for generating analog output signals
Bus - Collection of wires for communication between components