[开发工具] STM32CubeMX的使用

[复制链接]
782|1
 楼主| suzhanhua 发表于 2022-3-31 23:23 | 显示全部楼层 |阅读模式
1、STM32CubeMX简介
  STM32CubeMx软件是ST公司为STM32系列单片机快速建立工程,并快速初始化使用到的外设、GPIO等,大大缩短了我们的开发时间。同时,软件不仅能配置STM32外设,还能进行第三方软件系统的配置,例如FreeRtos、FAT32、LWIP等等,而且还有一个功能,就是可以用它进行功耗预估,还有,这款软件可以输出PDF、TXT文档,显示你工程里面的GPIO等外设的配置信息,供你进行原理图设计等。
  STM32CubeMX几乎覆盖了STM32L475xx全系列芯片。具有如下特性:
  1、 只管的选择MCU型号,可指定系列、封装、外设数量等条件。
  2、 微控制器图形化配置。
  3、 自动处理引脚冲突。
  4、 动态设置时钟树,生成系统时钟配置代码。
  5、可以动态设置外围和中间件模式和初始化。
  6、功耗预测。
  7、C代码工程生成器乳钙了STM32微控制器初始化编译软件,如IAR,KEIL,GCC。   8、可以独立使用或者作为Eclipse插件使用。
  STM32CubeMX和STM32Cube的关系,STM32Cube包含STM32CubeMX图形工具和STM32Cube库两个部分,使用STM32CubeMX配置生成的代码,是基于STM32Cube库的。也就是说,我们使用STM32CubeMX配置出来的初始化代码和STM32Cube库兼容,例如硬件抽象层代码就是使用STM32的HAL。不同的STM32系列芯片,会有不同的STM32Cube库支持,而STM32CubeMX图形工具只有一种。所以我们配置不同的STM32系列芯片,选择不同的STM32Cube库即可。
1369127-20190602115704103-434183888.png
2、打开STM32CubeMX软件
1369127-20190602115733535-1116983420.png
  图片中的序号1和3是新建工程的快捷按钮,序号2和4是快速打开工程快捷按钮。
1369127-20190602115914869-1428866019.png
  图片中的5是检测更新,用于检查STM32的官方固件库是否有更新,6是管理自己所下载的固件库,7升级的一些设置选项(包含固件包存储位置等)。打开7可以选择固件库的安装以及解压的位置(最好不要包含中文路径)。
1369127-20190602120050904-1492388814.png
  我们将自己下载的HAL库文件解压放到一个目录中,然后通过Repository Folder指定该固件库的路径。
1369127-20190602120129064-1179567122.png
1369127-20190602120137932-324182611.png
  点击OK后,再打开“Manage embedded software packages”管理固件库,可以看到如下图所以,方框呈绿色,证明固件库已存在。
1369127-20190602120234751-1234259262.png
  主菜单Project选项,有生成代码、生成工程报告以及设置选项,这些选项需要建立一个实际的工程以后才能使用。
1369127-20190602120413168-1931635512.png
3、创建和保存工程
  打开STM32CubeMX软件后,点击“New Project”创建新工程。之后会弹出MCU选择窗口,如下图:
1369127-20190602120508379-1958608706.png
  依次在选项卡Series,Lines和Package之下选择对应的参数,然后选择对应的芯片型号。如下图:
1369127-20190602120625625-104406566.png
1369127-20190602120634053-1328519696.png
1369127-20190602120644048-1860980980.png
1369127-20190602120649793-656554395.png
  最后双击选择具体的芯片型号,如图中选中的芯片。
1369127-20190602120751248-807806578.png
  最后选则File->Save Project保存工程到文件夹下。工程的名字以.ioc为后缀。
1369127-20190602120817066-2024392294.png
1369127-20190602120825260-1099705796.png

 楼主| suzhanhua 发表于 2022-3-31 23:24 | 显示全部楼层
4、工程配置
  工程新建好之后会直接进入Pinout选项卡,这个时候界面会展示芯片完整的引脚图。在引脚图中,我们可以对引脚功能进行配置。黄色的引脚主要是一些电源和GND引脚,如果某个引脚已经被配置过,那么会显示为绿色,提示已经使用。
1369127-20190602121017549-928347250.png
  RCC配置
  对STM32芯片而言,RCC配置的重要性不言而喻。在STM32CubeMX中,RCC的相关设置却非常简单,因为STM32CubeMX把时钟系统独立出来单独配置。在操作界面,依次点击Pinout->Peripherals->RCC选项卡便可进入RCC配置栏。如下图:
1369127-20190602121323053-390226290.png
  从上图可以看出,RCC配置栏实际上只有6个配置项。选项High Speed Clock(HSE)用来配置HSE,第二个选项Low Speed Clock(LSE)用来配置LSE,选项Master Clock Output 用来选择是否使能MCO引脚时钟输出,选项LSCO Clock Output用来选择是否使能将低速时钟输出到外部LSCO,选项SAI1 Extern Clock用来配置是否使能外部SAI1时钟,最后一个选项SAI2 Extern Clock用来配置是否使能外部SAI2时钟。
  在这里选择使用HSE,所以我们设置选项High Speed Clock(HSE的值为Crystal/Ceramic Resonator(使用晶振/陶瓷振荡器)即可。这里还需要说明一下,值 Bypass ClockSource的意思是旁路时钟源,也就是不使用使用晶振/陶瓷振荡器,直接通过外部提供一个可靠的4-26MHz时钟作为HSE。配置好的RCC配置选项如下图所示,而且从图中可以看出在打开了HSE后,右边的引脚图中,相应的引脚会由灰色变为绿色,表示该引脚已经被使用。
1369127-20190602121638356-928411716.png


您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

3560

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部