前言:自己是大二的一名通信工程专业的小菜鸡,在实验室培训了四次之后,我们目前使用是stm32f407zgt6这块单片机。在为明年的电赛国赛准备着。实验室目前使用的工具是cubemax和keil这两款软件,使用起来较为方便。那么让我们来看看吧。
目录
一、STM32简介
从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专业计算机系统。
-是“看不见的计算机”,软件和硬件综合体。
我们所使用的这块板子属于嵌入式微控制器:
下面是stm32的命名规则:
下面介绍一下是stm32的开发板资源:
当我们拿到一块板子就要看芯片引脚对应的作用,这块f4有144个引脚,下面为芯片的引脚图。
更多资料可以前往st官网自寻查找STMCU中文官网。
二、CubeMX的基本介绍
它允许用户通过它生成C语言项目(HAL库),包含MCU自带的各种外设初始化程序。
也就是你通过cubemx配置的内容,它会帮助你自动生成代码。
下面是cubemx的主页面。
我们首先选择新建mcu项目。
对于我们经常使用的芯片我们可以点击芯片左边的五角星进行收藏,以便下一次使用的更加的方便,这里我们还是选择stm32f407zgt6,下面这个才是cube的核心
三、cube的基本配置:
RCC配置:
Reset and clock control (RCC)
时钟配置,控制提供给各模块时钟信号的通断
旁路模式:无外部晶体起振和功率驱动等的部分电路(不能提供电源),一般用不到。
晶振模式:(有供电给外部晶振)
这里我们看到芯片上的四个引脚就被占用了,RCC需要占用引脚,上方两个为低速时钟,下方两个为高速时钟。
上方那个就为芯片的晶振
晶振
所谓“晶振”,即“石英晶体”,即“晶振”,它是一种由石英晶体的压电作用引起的高频率振动的电 子器件,是一种被动器件。(可以理解为一种计时器件)
晶振的主要内容
晶振频率的变化使得电路工作在一个稳定的频率范围内,这是对集成电路的起振装置,而晶体 振荡则是步调基准,稳定频率,选择频率。几乎任何行业、技术、汽车、数字、电子等行业, 都能使用到它。
调试模式设置:
注意: 这被配置的两个引脚不能作为GPIO,否则在调试中会出现问题。
因此建议预先设置好防止之后出现问题。
时钟树配置:
时钟的理解:
在内核中,一个时钟便能实现一次加法运算。
时钟决定着运转的速度
认识时钟树
时钟树配置
最后就是文件的配置:
按这样配就完事了
最后就可以点击右上角的生成code了
四、keil5的使用(基于hal库)
keil5使用的语言是c语言,所以对于那些c语言没学好的同学们要注意了。当然现在还来得急,
这是一个非常有用的方法,可以查看函数的形参所代表的含义,对于我编写代码有很大的帮助。
注意:
1、我们写代码同样要有一个好的习惯,我们可以将功能分模块些,将函数包装在main函数之外,然后最这个函数进行调用。
2、我们在设置参数时,尽量不要用a,b,n这种,我们可以选择英文加下划线的形式。
3、注释十分的重要,到后面代码一多,不仅别人看不懂,连你自己都看不懂了。
这期就讲到这里,大部分内容都是按照学长们所给的ppt来讲的,下期再讲按键和gpio吧(下次什么时候更新就不知道了dogo),还是想将自己所学的知识记录在这,另一个方面,可以将知识分享给有需要的人。有不足的地方希望大家可以补充,有错误的地方,大家也可以向我提出,学习求教。第一次些博客,还有很多不熟悉,望谅解。