嵌入式学习路线

第一阶段:C语言基础(必须扎实)

  1. 数据类型:字符型(char)、短整型(short)、整型(int)、 长整型(long)、超长整形(long long)、(单精度浮点型)float、双精度浮点型(double)、无符号字符型(unsigned char)、无符号短整型(unsigned short)、无符号整型(unsigned int)、 无符号长整型(unsigned long)、无符号超长整形(unsigned long long)

  2. 指针重中之重):指向常量的指针(常量指针const int* p,指向的值不可改)、指针常量(int* const p,指针本身不可改)、指向常量的指针常量(const int* const p,两者都不可改)、函数指针(int (*p)(int),指向函数)、函数指针数组(int (*p[5])(int),存储函数指针的数组)、指向函数指针数组的指针(int (*(*p)[5])(int),指向上述数组)、void* 通用指针(需强转后解引用)、空指针(NULL,不指向有效内存)、指针数组(int* p[5],存储指针的数组)、数组指针(int (*p)[5],指向数组的指针)。

  3. 变量、常量(const)、判断语句(if/if esle/if elseif/switch)、循环(for/while/do while)、数组、字符串、递归、结构体、枚举、typedef数据类型

  4. 内存管理:栈、堆、全局区、静态变量、预处理、宏定义、条件编译

  5. 逻辑运算与位运算(嵌入式必考):与、或、非、异或、同或、位移(仅位运算)

第二阶段:51单片机(入门级,建议学,也可跳过)

  1. 寄存器操作、读懂原理图

  2. 中断系统、定时器、计数器、串口通信(UART)、I2C、SPI通信、RS485通信、时钟

  3. GPIO输入输出、按键、LED、数码管、蜂鸣器、温度传感器、直流电机、步进电机、红外遥控、TFT彩屏、LCD显示屏

  4. 课后练习:流水灯、按键控制、串口收发、蜂鸣器报警、LCD、TFT显示

  5. 简单小项目:基于51单片机的温度报警器

第二阶段:32单片机(STM32/ESP32等等)主流就业方向

  1. 51单片机全部、读懂原理图、会使用万用表、示波器等工具测试电路

  2. 寄存器基础上使用标准库(逐渐被淘汰)/HAL库(重点

  3. PWM、ADC、DAC、CAN、DMA、看门狗、RTC实时时钟、比较器、运算放大器、高级定时器

  4. STM32CubeMx或其它厂商的配置工具(重点

  5. 推荐项目:BLDC直流无刷电机控制、FOC永磁无刷电机控制、BMS电池管理系统

  6. 能够在32单片机上跑RTOS实时操作系统(FREE RTOS、RT-THREAD)

    1. 任务创建、调度、多线程协调

    2. 信号量、互斥量、消息队列、事件标志组

    3. 中断管理、内存管理

第三阶段:硬件基础(硬件工程师必须精通、软件能看懂会测试)

  1. 主修课程:数字电路、模拟电路、电工电子技术

  2. 常用元器件:电阻、电容、电感、二极管、三极管、MOS管、光耦、继电器

  3. 常见电路:电源电路、复位电路、晶振电路、USB电路、滤波电路

  4. 调试技能:万用表、示波器、逻辑分析仪

  5. 电路板设计:根据产品需求设计电路图、元器件选型、画PCB板

第四阶段:LINUX(视情况与第二阶段二选一或都学)

  1. Linux基础:

    1. Linux常用命令、文件系统

    2. Shell脚本、环境变量

    3. 用户权限、进程、线程

    4. 网络基础:TCP/IP、Socket

  2. Linux C开发:

    1. 文件IO、进程间通信

    2. 多线程编程、互斥锁、信号量

    3. 网络编程:TCP/UDP服务器客户端

  3. ARM Linux移植(进阶):

    1. U-Boot移植

    2. Linux内核裁剪、移植

    3. 设备树(DTS)

    4. 字符设备驱动、平台驱动

    5. I2C、SPI、LCD、触摸屏驱动

关注我,下期教你如何正确选择行业与方向!

抖音微信同号:z1445435397

                

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐