• STM32CubeMX的使用


    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库即可。

    2、打开STM32CubeMX软件

     

      图片中的序号1和3是新建工程的快捷按钮,序号2和4是快速打开工程快捷按钮。

      图片中的5是检测更新,用于检查STM32的官方固件库是否有更新,6是管理自己所下载的固件库,7升级的一些设置选项(包含固件包存储位置等)。打开7可以选择固件库的安装以及解压的位置(最好不要包含中文路径)。

     

      我们将自己下载的HAL库文件解压放到一个目录中,然后通过Repository Folder指定该固件库的路径。

      点击OK后,再打开“Manage embedded software packages”管理固件库,可以看到如下图所以,方框呈绿色,证明固件库已存在。

      主菜单Project选项,有生成代码、生成工程报告以及设置选项,这些选项需要建立一个实际的工程以后才能使用。

     

    3、创建和保存工程

      打开STM32CubeMX软件后,点击“New Project”创建新工程。之后会弹出MCU选择窗口,如下图:

     

      依次在选项卡Series,Lines和Package之下选择对应的参数,然后选择对应的芯片型号。如下图:

      最后双击选择具体的芯片型号,如图中选中的芯片。

      最后选则File->Save Project保存工程到文件夹下。工程的名字以.ioc为后缀。

    4、工程配置

      工程新建好之后会直接进入Pinout选项卡,这个时候界面会展示芯片完整的引脚图。在引脚图中,我们可以对引脚功能进行配置。黄色的引脚主要是一些电源和GND引脚,如果某个引脚已经被配置过,那么会显示为绿色,提示已经使用。

      RCC配置

      对STM32芯片而言,RCC配置的重要性不言而喻。在STM32CubeMX中,RCC的相关设置却非常简单,因为STM32CubeMX把时钟系统独立出来单独配置。在操作界面,依次点击Pinout->Peripherals->RCC选项卡便可进入RCC配置栏。如下图:

      从上图可以看出,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后,右边的引脚图中,相应的引脚会由灰色变为绿色,表示该引脚已经被使用。

     

  • 相关阅读:
    Blender 2.8 [学习笔记-001] 基本设置
    Blender 2.8 [学习笔记] 编辑模式下显示边长、面积等信息
    第十八章节 BJROBOT 安卓手机 APP 建地图【ROS全开源阿克曼转向智能网联无人驾驶车】
    第十七章节 BJROBOT opencv_apps 图像处理示例【ROS全开源阿克曼转向智能网联无人驾驶车】
    第十六章节 BJROBOT 开机自启动服务【ROS全开源阿克曼转向智能网联无人驾驶车】
    第十五章节 BJROBOT cartographer 算法构建地图【ROS全开源阿克曼转向智能网联无人驾驶车】
    第14章节 BJROBOT karto 算法构建地图【ROS全开源阿克曼转向智能网联无人驾驶车】
    第13章节 BJROBOT 雷达跟随【ROS全开源阿克曼转向智能网联无人驾驶车】
    第十二章节 BJROBOT 摄像头寻线 【ROS全开源阿克曼转向智能网联无人驾驶车】
    第十章节 BJROBOT PID 动态调节【ROS全开源阿克曼转向智能网联无人驾驶车】
  • 原文地址:https://www.cnblogs.com/h1019384803/p/10962494.html
Copyright © 2020-2023  润新知