首页 » 科学 » 已经学过51单片机若何进阶?我来教你_进阶_单片机

已经学过51单片机若何进阶?我来教你_进阶_单片机

乖囧猫 2024-11-14 23:28:43 0

扫一扫用手机浏览

文章目录 [+]

问题

事情是这样的,他在本科期间已经有相应的单片机开拓履历,做过大略的项目,流水灯,倒计时,红绿灯,后面该如何提高呢?

已经学过51单片机若何进阶?我来教你_进阶_单片机 科学

首先我觉得得给进阶下一个定义,也便是明确也学习目标,怎么样才算进阶?我节制哪些东西,可以独立完成哪些开拓任务,才算达到了进阶的目的呢?

如果纯挚是单片机开拓的进阶?

我认为入门的阶段是这样的:

如果刚开始以51单片机起步,能基于开拓板做大略的项目,比如搞个流水灯,再繁芜点会做电子万年历(DS1302+LCD1602)就挺不错了;如果一开始就上STM32了,那么能在常用的STM32开拓板上做一些功能,实现一些小的功能,或者能用CubeMX配置和初始化代码,然后做一些项目;

我认为的进阶是这样的,须要节制这些;

首先我以为硬件设计是必要的,能根据需求,进行硬件开拓,进行事理图设计,PCB的Layout,绘制大略的双层PCB板;在进行硬件设计的过程中,可以试着抄一下已经开源的事理图,或者一样平常集成电路的DataSheet中都有相应的参考电路,根据这些参考电路进行事理图设计,后面可能会进行一些修正,在新的改版中进行修正即可。
焊接技能,如果有最好了,没有的话,可以在PCB打样的时候找厂家进行贴片,配套做事还是很不错的,节省了韶光本钱;样板到了之后,就要动手对板子进行调试了,这时候会比较繁芜,配套的技能包,比如示波器如何利用?如何捕获波形?如何利用万用表?有时候问题会比较玄乎,觉得可能在硬件上,又觉得在软件上,这里建议最好有一个方案验证板(至少担保硬件没问题);末了是编写安全可靠的代码,当然如果移植性好,代码框架好最好了;

之前也有朋友问我,自己想做一些DIY项目,软硬件都自己设计,该如何学习?他是搞互联网专业的,做嵌入式纯挚是爱好,享受生命在于折腾的快乐而已;

硬件设计

新手建议利用Altium Designer,教程比较多,国产软件立创EDA也不错,开源的KiCad也可以利用,选一款就行,软件都大同小异,不要在纠结选择哪一款软件上而摧残浪费蹂躏韶光,我个人建议利用Altium Designer,下面简称AD;

网上有很多免费的教程,可以去搜一下,看完教程一定要自己考试测验着设计一个电路,可以大略一点,设计一个单片机的最小系统。

链接:https://pan.baidu.com/s/1yKfsttgIBeKKMK65m9H91g

提取码:pzsz

软件设计

单片机的编程开拓是必须要节制C措辞的,汇编措辞可以大略能读懂就行,调试的时候能大略看懂反汇编就行,以是要把紧张精力放在C措辞上,实在,初期C措辞会常用的语法:

循环:for,while分支:if else,switch

就可以做很多事情了,但是后面还须要进阶,由于写出健壮高效,可复用,可移植的程序,只会这些还远远不足。

好了,我们学习了C措辞是为了开拓单片机的,是要直接对硬件进行操作,直接操作单片机上的外设寄存器,以是

这里以STM32举例,常日我们须要熟习常用的接口和协议,和一些常用的外设,后面你会创造,不论是什么厂家的单片机,实在都大同小异;

比较常用的,我们会碰着GPIO,TIM定时器,systick,UART,I2C,SPI,CAN等;

一样平常来说,像STM32这种硬件平台,前期利用的人很多,网络资源非常丰富,很多时候会Ctrl+C和Ctrl+V就行了,其余ST供应了cubeMX这种工具,初始化根本不须要人为干预,但是有时候过于依赖工具,每每会被工具反噬,我就碰着过用cubeMX配置代码,碰着问题一脸懵逼,不知道如何下手的朋友。

当然我不是提倡大家穿着新鞋走老路,由于时期在发展,不能换一个寄存器一个寄存器去手撸,不过这时候,须要对底层有一个更全面的认识了,从单片机内核架构层面去理解,这须要学习其他的体系知识了,比如地址总线,数据总线,ARM的架构,外设是如何CPU进行数据交流的等等;

比如今年缺芯严重,不得不进行国产替代,不吹不黑,今年换了几款国产的MCU,资料不太完善,也没有太多参考的Demo,后来利用固件库的时候创造了几处BUG,末了还是得靠自己参考开拓手册排查缺点。

言归正传,我们要学会辞官网找资料,有很多运用方案,芯片的开拓手册UM( user manual),自己搭建开拓环境,然后找到相应的芯片的固件库,这些都能独立重生,就非常不错了。

多提问,多互换

一个人,走得快,一群人,走得远;以是要多与人互换沟通,不耻下问,这里一定要把稳提问的技巧;下面是我认为的几点;

只管即便别问搜索引擎能办理的问题;只管即便网络问题干系的信息;例如单片机而言,你不能问:为什么我的灯点不亮?或者你可以问:我的灯点不亮,丈量了IO输出电平正常,但是没有亮?不要利用难懂、模糊化等词句,只管即便简短,清晰,简明,扼要地描述你的问题;对的韶光,问对的人,在别人心神专注思考或搬砖的时候,就不要轻易打扰他人;明确你的提问目的是什么,如果你自己都不在自己要问什么,那还是先整理一下问题再问吧;

加入嵌入式技能互换群一起进步

末了

这篇文章里我大略地聊了一下如何进行单片机进阶,个人认为须要硬件设计和软件设计两部分;

硬件设计;软件设计;

如果详细展开,每个部分都有很多东西可以学习的,实在觉得最初能做大略的PCB,然后在这硬件根本上进行相应的软件开拓,就已经达到了一个进阶的目的,后续须要的是不断在项目中进行提高,可以不断积累硬件方面的履历,其余还须要系统地学习根本知识,比如打算机系统(微机事理),C措辞,数据构造等,软件部分可以多看一下开源的精良项目,学习他们的设计思想,这样会提高得很快。

好了,这期先这样,韶光比较赶,大略地说一下哈,我是小麦,我们下期再见。

标签:

相关文章

IT跪拜程序,数字化时代的信仰与挑战

在数字化时代,信息技术的发展日新月异,它已经渗透到我们生活的方方面面。随着技术的进步,一种名为“IT跪拜程序”的现象也应运而生。本...

科学 2024-12-30 阅读0 评论0

IT连心,构建数字时代的人本关怀

在信息技术的飞速发展的今天,我们生活在一个被数字化的世界中。在这个世界里,人与人之间的距离似乎被拉近了,却又似乎被屏幕所隔离。正是...

科学 2024-12-30 阅读0 评论0

IT铁盒蓝光,引领未来存储技术的创新力量

随着信息时代的到来,数据存储技术不断革新,存储介质也在经历着一场革命。在这其中,IT铁盒蓝光作为一种新兴的存储技术,凭借其卓越的性...

科学 2024-12-30 阅读0 评论0