嵌入式系列:从LED开始

张开发
2026/4/6 12:12:30 15 分钟阅读

分享文章

嵌入式系列:从LED开始
嵌入式到底是什么 ---- 从LED开始前言嵌入式就是单片机吗STM32 和 51 有什么区别为什么我点个灯还要配置时钟、GPIO 模式1. 不是所有“嵌入”都叫嵌入式很多人一听到“嵌入式”脑子里蹦出来的画面是一块板子几根线一个LED在闪。对但也不全对。先看看嵌入式系统的定义以应用为中心以计算机技术为基础软硬件可裁剪对功能、可靠性、成本、功耗严格要求的专用计算机系统。翻译成人话它不是一台通用电脑你不能拿它写 Word它只干一件或几件特定的事但它必须干得稳、干得快、干得便宜比如家里的洗衣机汽车的刹车系统医院的呼吸机你手腕上的手环这些里面都藏着一颗或几颗嵌入式的大脑。2、硬件 ≠ 单片机但单片机是核心嵌入式系统的硬件通常包括微控制器MCU像 STM32、ESP32、51、AVR电源管理LDO、DCDC输入/输出按键、LED、继电器、传感器通信接口UART、I2C、SPI、RS-485、CAN执行器电机、电磁阀、加热丝但作为初学者我们最开始接触的往往就是一块开发板 一颗 MCU。所以很多人误以为“嵌入式 单片机”。其实单片机只是硬件平台嵌入式系统 硬件 软件裸机或 RTOS 特定功能。3. 一个LED的背后拿最经典的点灯程序来说STM32 HAL 库intmain(void){HAL_Init();SystemClock_Config();__HAL_RCC_GPIOA_CLK_ENABLE();GPIO_InitTypeDef gpio{0};gpio.PinGPIO_PIN_5;gpio.ModeGPIO_MODE_OUTPUT_PP;gpio.PullGPIO_NOPULL;gpio.SpeedGPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(GPIOA,gpio);while(1){HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);HAL_Delay(500);}}这几行代码背后发生了这些事时钟配置不然CPU不会跑GPIO 模式配置主循环里翻转电平延时函数其实是让 CPU 空转计数这就是嵌入式我们写的每一行代码最终都会变成电压的高低变化去控制物理世界。4. 嵌入式工程师的思维模型资源有限例Flash 只有 64KBRAM 只有 20KB实时性该响应的时候必须响应确定性不要出现“大概率”能工作硬件意识我们写的代码最终要跑在真实的电阻电容晶体管上所以嵌入式入门并非是学会一个单片机型号而是建立软硬结合的思考方式。5.总结嵌入式的定义不是“嵌入”到某个东西里就完事了硬件 ≠ 单片机软件 ≠ 算法第一个程序点亮LED到底发生了什么嵌入式工程师的核心思维资源有限但要稳

更多文章