如何学习单片机? 跟大家分享一下我学习单片机的心路历程。
我的单片机可以说是自学成才,过程有点曲折。
一开始,我学习了理论,学习了单片机的设计框架、存储器、寄存器、GPIO口函数、定时器、单片机汇编语句等。
每天背概念、理论,一个月左右,结果肯定会是一片混乱的状态。
就在这个迷茫的时候,实验室的一个同学建议我先学C语言,再学单片机程序开发,说汇编没什么用。
我又花了2-3个月的时间学习C语言,买了谭浩强的C语言教程,从头到尾抄笔记,抄完了几本笔记本,但这一次我更加迷茫了。
因为读大学是要靠自己的。 老师没有太多时间辅导你,而且你也不是一个特别优质的学生,所以你不会得到老师的特别青睐。 同学之间存在着一些幼稚的态度。 比较和竞争。 能够帮助你的人很少。
后来我买了一台电脑,一台大尾台式电脑,开始自己装软件。 在淘宝买了一块开发板,开始了大胆的尝试和投资。
很快,我就完成了点亮第一盏LED灯的实验,后来又学习了GPIO外部中断、定时器、串口通信、LCD1602显示、数码管驱动等。
每次完成一个功能,我都会感到非常兴奋,尤其是当我点亮第一盏LED灯时。 我相信每个人都知道其中的喜悦和满足。
虽然一开始有点曲折,但结果却很美好。
大学毕业后,我对于找工作有点迷茫。 我找不到工作,也没有人想要它。
你有工作经验吗? 您从事过哪些项目? 你是应届毕业生吗? 说到单片机开发相关的招聘需求,我很难满足。 即使我想撒谎,我也无法欺骗别人。
如果我现在出去招聘嵌入式微控制器工程师,如果你是应届毕业生,就不要了。
如果您没有单片机开发经验,请等待我的通知。
也许你不相信,但现实就是这么残酷。
即使当我在寻找第二份工作时,我也面临着同样残酷的现实。 面试官给了我一份全英文的试卷。 我不知道从哪里开始。 我非常绝望,对自己没有信心。
其实归根到底是我开发经验不足,单片机开发能力差造成的。
回想起来,我成长得很慢。
我上大学的时候,只是做了一些简单的单片机程序。 比较复杂的有电子钟、交通灯定时控制器等。
我第一份工作写的程序是if with while、while with if等等,当时我只能做基于51核的单片机产品。
几年下来,我慢慢开始接触STM32单片机,学习单片机程序开发的框架、消息队列等相关知识……
想想自己的成长之路,感觉自己走了很多弯路,浪费了太多时间。
如果有人问我,如果再给我一次机会,我会如何学习单片机程序开发? 首先要学什么? 如何开始?
1、首先学习单片机的C语言基础知识
C语言是单片机程序开发的基础,所以首先要学习单片机C语言的基础知识。
有人问,单片机需要学习汇编语言吗?
汇编语言是最接近单片机底层机制、运行效率最高的语言。 但汇编语言学习相对复杂,可移植性较差。 不同芯片厂商的组装也有所不同。
因此,建议大家先学习C语言,等完全掌握单片机程序开发后,必要时再学习。
从C语言开始接触单片机比较容易,通用性很强。
在学习C语言的过程中,大家要注意一个误区。 刚开始学习单片机开发时,只需要一些C语言的基本语法和变量定义就可以开始,不需要深入学习。
C语言太强大了。 如果你深入学习,就会导致你陷入学习误区。
对于单片机的C语言入门教程,我们无极单片机编程团队专门为学生录制了一套,目前已公开。
这个和市面上其他C语言的区别在于,学习这个可以和单片机开发无缝衔接。 市面上很多C语言的解释都是基于上位机的。
2、从C51单片机开始学习单片机,掌握单片机的相关理论知识。
C51内核的单片机可以说是最经典的。
C51单片机的寄存器相对较少,因此我们可以从芯片底层深入了解单片机程序的工作原理以及单片机程序的开发。
其次,C51单片机的入门学习比较简单,可以尽快上手,同时可以培养大家的兴趣。
3、进一步提高C语言知识,结构体、指针、枚举、队列等,进而学习STM32单片机。
学习完C51核心单片机后,大家还需要提高自己的C语言开发能力。
大家必须掌握结构体、指针、队列等相关知识。
本无限单片机编程还有相关的系统课程和源码。 它们都是免费共享的。 你需要自己找到它们。 这里不方便留下链接。
STM32单片机的资源比较丰富,具有较大的FLASH和RAM空间,工作频率较高,可以做出更负责任的产品。
学习STM32单片机,建议直接通过标准库来学习。 无需深入了解相关寄存器。 我们将在需要时检查寄存器。
其次,我们还可以在STM32单片机上运行一些相对简单的小系统,比如FreeRTOS。 这样可以提高程序的运行效率。
4.通过实战掌握单片机程序开发
学习理论是非常枯燥且耗时的。 如果时间太长,你就会失去继续学习的兴趣和毅力。
我们学习的目的是为了实战,那么我们为什么不通过实战来掌握单片机程序开发的理论知识呢?
有了单片机程序开发的基础和一些简单的单片机基础,就可以直接开始一些简单项目的实际实践,然后一步步进行。
在实战过程中,如果遇到问题,学习相关理论知识,然后完成实践开发。 这样,你学到的东西就会更加扎实,更加有效。
最后的复活节彩蛋时间!!!
最近有同学向我要单片机的资料。 我花了一个月的时间总结了自己10年的产品开发经验,收集了史上最认真、最硬核、最实用的《高级单片机入门教程+工具包》。 +22个热门项目”,免费分享给大家。
资料包几乎涵盖了C语言、单片机、模拟和数字电子、原理图和PCB设计、高级单片机编程等内容,非常适合初学者入门和进阶。
另外,我会在盒子底部泪流满面地分享我整理的22个热门开源项目,包括源码+原理图+PCB+文档,让你快速成为高手!
据说有朋友就是通过这个成功加入BAT的,一定要保存好,好好学习!
后期我也会成立一些技术交流群,让大家可以认识更多的大佬,有一个良好的圈子。 您对行业的了解将处于最前沿。
如果您想要上面的“MCU入门进阶教程工具包+进MCU交流群”,可以点击下方卡片⬇️扫描二维码进群免费领取。
或者你可以寻找全网同名的“Boundless Microcontroller”。
以下是无极更多原创的个人成长经历、行业经验、技术资讯。
1.从入门级微控制器到高级黑客的学习路径(包含教程+工具)
2、电子工程师的能力有多可怕?
3、为什么学了几天STM32感觉很迷茫?
4.谁能教我如何学习单片机,先学什么,如何入门?
5.我学习Stm32很久了,但还是感觉自己不能独立做项目?
6、如何实现单片机的模块化编程
7、C语言中指针的高级应用:回调函数
8、C语言指针的高级应用:队列算法
9、新手学习单片机时最常见的六大误区。 你掉进陷阱了吗?