你点击蓝字关注,回复“入门资料”获取单片机入门到高级开挂教程
开发板带你入门,我们带你飞
文 | 无际(微信:2777492857)
全文约1582字,阅读大约需要 5 分钟
最近看了不少老铁的简历和咨询,发现有些基础还挺好,学了stm32和一些Linux基本指令,但就是不好工作。说实话,学得有点杂,一看就是什么都不深入,光凭这些可能有点悬,不过也别太灰心,好消息是至少基础还可以。很多新手因为没行业经验,没搞清楚一件事,嵌入式开发涉及太广了。它包括好几个方向,比如单片机开发、Linux驱动开发、Linux应用开发等等。所以找工作时,得先想清楚自己想往哪个方向走。这篇文章直接把饭喂到你嘴里,如果学的stm32,其实是偏单片机开发的,如果想走这条路,建议重点关注这几个方面: 一、C语言得扎实,这是基本功 1.基础语法熟练①.能够熟练使用各种数据类型、运算符、控制结构(if-else, switch, for, while等)。②.理解并正确使用数组、指针、结构体、联合体③.熟悉函数的定义、声明和调用可以按照我下面这套教程来学习,是针对单片机的C语言。
vvuzr42dwai64014541725.png
2.指针应用①. 熟练使用指针操作数组②. 理解函数指针的概念和应用③. 能够使用指针实现一些常用的算法和数据结构(如排序、队列、链表) 这些,我有套教程,基本都能覆盖到。
45ilbvnda5n64014541825.png
3.预处理和宏①. 理解并能够使用条件编译②. 熟悉常用的预处理指令(#include, #define等)③. 能够编写简单的宏函数 4.位操作①. 能够使用位运算符进行低级操作②. 理解位域的概念和应用 5.标准库函数①. 熟悉常用的标准库函数(如字符串操作、数学函数等)②. 能够查阅并正确使用C语言标准库 6.代码风格①. 编写清晰、可读性强的代码 7.调试能力①. 能够使用调试工具(如ST-Link)定位和解决问题②. 理解常见的C语言相关错误和警告 8. 嵌入式相关①. 理解volatile关键字的作用②. 熟悉嵌入式系统中的中断处理③. 了解嵌入式系统中的存储器类型和特点
9. 多文件编程①. 理解头文件的作用和正确使用方法②. 熟悉模块化编程的概念 二、单片机原理要搞懂,应付面试要了解的单片机原理包括以下几个方面:1. 单片机的基本架构①. 理解单片机的内部结构(CPU、存储器、I/O接口等)②. 了解不同类型单片机的特点(如8051、STM32、AVR等)③. 掌握单片机的工作原理和时序 2. 存储器系统①. 理解程序存储器(ROM、Flash)和数据存储器(RAM)的作用②. 了解不同类型存储器的特点和应用场景③. 掌握存储器的寻址方式和访问方法 3. 中断系统①. 理解中断的概念和作用②. 掌握中断的处理流程和优先级管理③. 了解不同类型的中断(外部中断、定时器中断等) 4. I/O接口①. 理解GPIO(通用输入输出)的工作原理②. 掌握I/O口的配置和使用方法③. 了解上拉、下拉电阻的作用和使用场景 5. 定时器/计数器①. 理解定时器的工作原理和应用②. 掌握定时器的配置和使用方法 ③. 了解PWM(脉冲宽度调制)的原理和应用 6. 通信接口①. 理解常用通信协议(UART、SPI、I2C等)的原理②. 掌握各种通信接口的配置和使用方法③. 了解通信接口在实际应用中的选择依据 7. A/D和D/A转换①. 理解模数转换和数模转换的原理②. 掌握ADC和DAC的使用方法③. 了解采样率、分辨率等关键参数的含义 8. 低功耗模式①. 理解单片机的不同工作模式(正常模式、睡眠模式等)②. 掌握低功耗设计的基本方法③. 了解唤醒机制和电源管理技术 9. 单片机的启动和复位①. 理解单片机的启动过程和复位机制 10. 调试和仿真技术①. 至少会一种在线调试(如STLink、JTAG、SWD) ②. 掌握常用调试工具的使用方法③. 了解仿真器的作用和选择依据 三、基本的通信协议要熟悉比如UART、SPI、I2C是必须要掌握的。
四、得有实际项目经验项目经验最重要,以上所有知识,你不一定全会,但是项目涉及的,至少要掌握。 最后总结下,想在嵌入式领域发展,我的建议是:1. 先定一个主攻方向,是单片机还是Linux,别两个都学得不深。2. 选好方向后就得深入学,别浅尝辄止。3. 一定要多做项目,找些开源项目练手,或者自己设计点小东西。最后提醒一下,找工作不光看技术,你的学历、表达能力、团队精神、找工作的城市、年龄,这些都会有影响。如果是本科,年龄不大,在大城市找,只要技术还行,机会还是不少的。end
1hyunhbpq5n64014541925.jpg
下面是更多无际原创的个人成长经历、行业经验、技术干货。
1.电子工程师是怎样的成长之路?10年5000字总结
2.如何快速看懂别人的代码和思维
3.单片机开发项目全局变量太多怎么管理?
4.C语言开发单片机为什么大多数都采用全局变量的形式?
5.单片机怎么实现模块化编程?实用程度让人发指!
6.c语言回调函数的使用及实际作用详解
7.手把手教你c语言队列实现代码,通俗易懂超详细!
8.c语言指针用法详解,通俗易懂超详细! |