你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32单片机应用笔记--小结

[复制链接]
STMCU小助手 发布时间:2020-12-23 10:14
STM32单片机应用笔记--小结
断断续续的用了一个月的时间整理完了使用过的有关stm32单片机的一些功能的配置代码。最初是想细致的写一写,记录一下,可是真正的整理才发现任何一个部分都涉及到太多的东西需要去介绍,去写,另一方面在整理的过程中发现了很多自己理解不透彻不深入的地方,因此放弃了详细的介绍,只单纯的记录一下初始化配置代码,一些需要注意的地方加入一些注解。
在整理代码的过程中感受很多,很多的回忆,情绪都被勾起。能明显感觉到自己的进步,心境的变化,这种感觉还是蛮好的。
大概2013年左右开始使用stm32单片机,到现在依然在使用,期间穿插着使用过51单片机,但用的真的是很少。看到过一些帖子,有人在问刚开始学单片机是使用51好还是stm32好,这个问题争议也挺大的,但是好像倾向使用51单片机的人更多一些。回想起自己大学时学的是51单片机,80c51,而且还是汇编语言(现在汇编忘得差不多了),当时学的时候感觉很吃力,记忆力不好,那么多的寄存器,那么多的位怎么记?而且还有那么多的汇编指令也要记,对我来说真的很难。大三时报名参加了电子设计大赛,直接使用凌阳单片机。当时有一种发现新大陆的感觉,原来编程也可以这么简单,因为光盘中带了很多的例程而且还都是C代码,很多功能因为有了配置函数类似于stm32的库函数,使用时只需要调用,然后根据自己需要修改属性就可以了。那段时间彻底沉迷于编程中,真的是沉迷,每天上完课就去实验室,按照例程调试流水灯,调试电子时钟,做闹钟等等,那段时间天天忙得不亦乐乎。也是从那会开始决定了自己向单片机方向发展,虽然我们专业更倾向于PLC。
刚参加工作的时候,使用的第一款单片机就是英飞凌的32位单片机TC1796,就是下面这个小红板,150M主频,2MFlash等参数都让我惊讶,当时感觉:这东西也太强大了。
5.1.jpg
公司给我的任务就是学习使用TC1796,把单片机的各种功能先学会。当时因为没有什么外设,调试完程序也不知道运行起来是什么状况,只能看软件自带的仿真(英飞凌的软件tasking好像是这个名字,功能还是蛮强大的,可以监视寄存器,还可以模拟示波器,当时主要看这些东西去调试测试程序)。当时虽然是自学这款单片机,但是并不是特别吃力(吃力的是看英文手册),因为它有自己的配置软件,按照需求配置好就可以自动生成工程代码,所以使用起来还是挺方便的。这个过程持续了一年半左右,后来由于成本问题决定放弃TC1796改用stm32f103。然后开始了自学stm32f103的过程。
因为有使用凌阳单片机和英飞凌单片机的经验,加上当时stm32单片机无论是随机光盘还是网上例程都很多,因此使用起来并不吃力,随后就开始做产品。初期写程序就是各种的复制粘贴,然后修修补补,实在不能复制粘贴的才自己去想,去琢磨,去写。这期间遇到了很多的问题,一路磕磕绊绊走到了现在。
其实我觉得先学51还是先学stm32真的没有什么太大的问题。如果没有使用过凌阳单片机,我可能现在在写PLC程序,因为51的那些寄存器、外部数据、内部数据等等让我头痛(很多东西到现在也是分不清楚),但是因为凌阳单片机的功能函数化已经比较容易理解的C编程,让我对单片机产生的兴趣,让我觉得单片机不难,因此我觉得培养兴趣是最关键的。建立起来兴趣,就会投入的去学习,学习中遇到问题就会去探究,这个过程中就会把一些概念弄明白,而且还会加深理解。这样的过程就会觉得很有意思,很有成就感,而如果上来就研究寄存器等一些枯燥的东西,时间久了就会生出一种畏惧感(我个人的感受,对51就是这种感觉),厌烦感,然后就会放弃。因此我个人建议无论学什么要结合自身找对方向培养兴趣,然后坚持去做,就会成功。
通过这次整理记录代码,给我感触最深的就是:为什么没有早点这么做呢。在整理,在记录的过程中就会思考:为什么这样写?然后就会去查,就会去研究,这个过程就会学到很多东西,总有一种恍然大悟的感觉:啊,原来是这么回事。查找求证的过程可能比较麻烦,但是我觉得这点麻烦,这点耽搁是值得的。发现问题,查找求证,理清问题,这个过程就是自我提高的过程,积少成多,每天一点点,每次一点点,当回首时会发现自己已经到了一个新的高度,那种感觉会让自己感到欣喜。
总结一下我学习的过程:
第一步会用:这个过程中不去理会原理,只关心如何实现功能,这一阶段就是拿来主义,适合自己的就拿过来,修修补补,只要能实现自己需要的功能就可以。
第二步实验:这时拿来主义已经不能满足自己的需求,就需要自己去做一些验证:换一个参数对程序有什么影响,我需要的功能需要哪些功能去配合等等。这时为了实现自己的功能就会去查各种资料,甚至去啃手册,但是并不是很深入,因为只为了找到自己需要的功能而已,一般通过测试可以实现功能就不会再去深入关注,此时的重点是在应用函数的编写。
第三步探究:这时各个功能用的比较熟练了,自己也有了一定的积累,很多功能都有涉猎,甚至一些工程项目更改一下应用函数就可以使用,做工程项目感觉轻松了很多。做到这会常常会忽略初始化函数的配置问题,因为很多都是经过项目验证的,感觉不会有什么问题,一般都是拿过来就用。但是真的去读配置代码时才会发现有很多遗留下来的问题,这时反倒需要深入的探究:我这样配置是不是合适,为什么当时选择这个参数等等,通过认真的查手册,查资料彻底的吃透,研究明白。
我觉得我现在刚刚进入第三阶段,回看自己的代码发现初始化函数有很多地雷,只是没有使用到的缘故没出现问题。出现这些问题的本质原因就是对这些参数、功能等的理解不透彻,需要认真去研究。而现在回去看手册很多时候看一眼就明白了,感觉就行那层窗纸被捅了一个窟窿,看里面的东西清晰了很多。现在的窗纸只是有了一些窟窿,当把这些窟窿连成片就会看得更明了清晰(总觉得自己不可能把整个窗纸去掉,因为总一些关注不到的点)。当把窗纸捅出一个大洞可以清晰看到里面的一切的时候是一种什么感受,我还不知道;到了那时该何去何从,我也不知道。但是我现在只想看清里面的风景,至于以后的路以后再考虑吧。
下一步的计划:学习ucosii嵌入式系统。
文章出处: wenzhihuai  单片机学习点滴
9 d. ^* W8 \1 P, E
收藏 评论0 发布时间:2020-12-23 10:14

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版