在CubeMX上,通过傻瓜化的操作便能实现干系配置,终极能够天生C措辞代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等 省去了我们配置各种外设的韶光,大大的节省了韶光。

安装CubeMx一共须要三个

JRE (Java Runtime Environment) Java运行环境 运行JAVA程序所必须的环境的凑集 STM32CubeMXHAL库 STM32 HAL固件库 ST官方推出的另一套库1安装JRE

由于 STM32CubeMX 软件是基于 JAVA 环境运行的,以是须要安装 JRE (Java Runtime Environment)才能利用,

jsp教程百度云盘STM32进修笔记CubeMX应用 Ruby

官网: https://www.java.com/en/download/manual.jsp

百度云:https://pan.baidu.com/s/1WD5E4enEZ_mw0-NGBl_bUw 提取码: e8gs (定时更新最新版本)

1点击安装

2 修正途径 点下一步

3 等待安装完成,关闭界面

2安装STM32CubeMX

官网:www.st.com/stm32cubemx

百度云:https://pan.baidu.com/s/1dm83PbIsq7Vk9bAyFNinag 提取码: wjmd

官网下载:

在官网下载须要注册下ST官网账号,目前最新为5.3.0版本,不想在官网下可以在百度云盘下载,

1打开安装包

2赞许协议,下一步

3 勾选第一个即可,第二个选项是是否赞许ST公司网络你的个人利用信息等。

4 点YES 这句话是安装本软件可能会与文件夹之前文件冲突,导致文件夹之前文件丢失 是否连续

点连续即可

5 直接点NEXT,其他不用设置 之后开始安装

6 安装完成,点Done退出

3安装HAL库

什么是HAL固件库?

STM32 HAL固件库是Hardware Abstraction Layer的缩写,中文名称是:硬件抽象层。
HAL库是ST公司为STM32的MCU最新推出的抽象层嵌入式软件,为更方便的实现跨STM32产品的最大可移植性。
HAL库的推出,可以说ST也逐步的抛弃了原来的标准固件库,这也使得很多老用户不满。
但是HAL库推出的同时,也加入了很多第三方的中间件,有RTOS,USB,TCP / IP和图形等等。

和标准库比拟起来,STM32的HAL库更加的抽象,ST终极的目的是要实现在STM32系列MCU之间无缝移植,乃至在其他MCU也能实现快速移植。

并且从16年开始,ST公司就逐渐停滞了对标准固件库的更新,转而方向于HAL固件库和 Low-layer底层库的更新,停滞标准库更新,也就表示了往后利用STM32CubeMX配置HAL/LL库是主流配置环境;

HAL库,有在线安装、离线安装两种办法。

在线安装

打开安装好的 STM32CubeMX 软件 点上面的Help -> Manage embedded software packages

会跳出来一个选择型号界面 勾选上你要安装的HAL库, 点击“Install Now” 直到安装成功。
如下图:

离线安装

离线安装须要下载安装包,这里供应百度云和ST官方下载办法 PS:建议在线安装 速率快,又稳定

官网:www.st.com/stm32cubemx

软件下载阁下一栏便是HAL库下载 下载对应芯片的安装包

百度云:https://pan.baidu.com/s/1dm83PbIsq7Vk9bAyFNinag 提取码: wjmd

1直接导入安装包 Help -> Manage embedded software packages ->From Local 选择离线包即可

2直接解压

Help->Updater Settings... 可以选择HAL库安装包路径 ,默认在C盘 可以自行修正

解压到相对应路径即可

二、配置工程

打开Cube,选择对应芯片

配置下载线:下载接口SW

配置系统事情时钟:168MHZ配置外部晶振

配置时钟树:

配置IO:

LED4—PB5---通用推挽输出

LED5—PB4

LED6—PB3

选择引脚功能:

配置详细引脚功能:

配置keil工程:

天生工程

可直接选择打开工程也可关闭后,在文件夹中手动打开

闪灯代码:

三、把稳事变

(1)延时函数:可直策应用系统根据滴答定时器天生的HAL_Delay();

(2)中断的回调函数:

在CubeMX中配置的中断会在“stm32f4xx_it.c”中创建对应的中断做事程序,可在天生的函数预留位置处直接编程,如下:

也可找到对应的回调函数,重写回调函数进行编程:

重新写一个该函数即可,无需调用;

利用外设中断时:

CubeMX可以开启全局中断,NVIC分配优先级;

工程运用时:使能详细的中断操作,实行过中断任务后默认中断会关掉,须要做的是再次开启;如:串口吸收中断

(3)代码编写区域,要在规定的范围内,否则重新天生的代码将会覆盖编写的代码,如:

/ USER CODE BEGIN 2 /

UASRT1_Init();

printf("初始化完成");

/ USER CODE END 2 /