笔记回归
时隔近一年,我又有时间来玩stm32了。在这一年的时间中,stm32进行了大规模的价格调整,我今天查了一下,很多芯片的价格都翻了一番,甚至有的热门芯片由于减产和其他原因,翻了三四番。我也因为离开学校实验室,很多东西需要自己补齐,没有办法去无限制地使用实验室的资源了。现在我手头只有一块在涨价前买的STM32F411CEU6的开发板,和一块老的F103的48管角的板子。我想慢慢地用这两块板子复习一下hal库和标准库的区别和各自使用时应该注意的地方,并学习使用freertos和stm32ai的插件,为我之后的毕业设计和大创积累一些经验,并打算分享一下我的代码复盘,也算是记录一下我的代码使用习惯,以便不断学习、改正、调整、优化。
改动部分
我之前也就写了两篇笔记,其实这也不算很重要的改动。
1.cubemx版本更新:cubemx的版本我从5.6.1升级到了6.4.0。之前我使用过5.6.1做过平衡车的项目,用6.0.0也做过一些比赛项目。现在经过近一年的摆烂,我已经是个单片机小白了,现在换装了6.4.0版本,也可以从头开始学习,也算是再夯实一下c语言和单片机的基础。
2.stm32f4的hal库文件包更新:我之前在f4的板子上用的是1.25.0的hal库函数包,现在也使用1.26.2的最新的hal库函数包。我在下载的时候也发现了一个现象:stm32的库函数更新是1.25.0或1.26.0作为基础包,然后比如我要使用1.26.2的包,cubemx则会下载1.26.0和1.26.2两个包(如果1.26.2显示大小为800+mb,1.26.0大小为625mb,他会下载1.26.0的625,再下载一个1.26.2,它却只有200+mb,所以同一大版本的包,1.26.2只是算作一个在1.26.0基础上的补丁包。我之后又打算下载1.26.0,发现下载不了,也间接验证了我的猜想:1.26.0,1.26.1,1.26.2这三个属于同一大版本,只能安装其中一个。)。我之后会结合1.26.2的库函数文件包中的文件来分析解读。如果遇到我记得的与1.25.0的区别,我会及时提出。
3.keil5(mdk arm)更新:我把keil的版本从5.30升级到5.36。目前初步使用没有发现明显的区别。
4.单片机型号和板子的选择:软件方面基本上讲完了,现在我讲一下硬件方面的改动。之前在实验室使用的是两块我自己画的板子,现在这些板子都留给学弟学妹了。我在前面提到我只有两块开发板在手上,所以我也打算自己再画一些开发板,和之后做毕业设计和大创用,但又由于之前实验室御用的f407vet6(或者f407vgt6)现在价格高的飞起(74.5大洋,但是比起一些国产产品用的f103vet6的180大洋还是算少的了),而且它们的引脚(100脚)比较多,适合做一些比赛和多功能的项目,我到时候应该也会画一个这种多功能的板子自己用,因为之前打比赛的时候画的太丑了。目前只能使用上面提到的两款开发板(f411ceu6和f103c8t6),两款48脚的小板子。具体参数我们在后面讲代码的时候再提。
5.试验工具:现在我只有一个小灯泡,之后我会慢慢补齐,以完成我们之后的学习项目。
6.呈现方式:这方面我打算自己再摸索一下,如何很好的学习知识,不能太繁杂,也不能太轻浮。目前打算,按照基本的顺序,io口使用,时钟系统,各种通信方式,外加一些其他的驱动应用方式,还可以穿插说一下我现在的代码风格,和基本程序段和数据段的安排,作为一个记录。若有不正确的地方,还请各位大佬指正。
|