[开发工具] STM32CubeMX系列教程

[复制链接]
1327|2
 楼主| suzhanhua 发表于 2022-3-31 23:24 | 显示全部楼层 |阅读模式
STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列。平台包括了STM32Cube 硬件抽象层(一个STM32抽象层嵌入式软件,确保在STM32系列最大化的便携性)和一套的中间件组件(RTOS, USB, FatFs, TCP/IP,  Graphics, 等等).
  • 直观的STM32微控制器的选择和时钟树配置
  • 微控制器图形化配置外围设备和中间件的功能模式和初始化参数
  • C代码生成项目覆盖STM32微控制器的初始化符合IAR™,Keil的™和GCC编译器。

对于新的产品设计,我们强烈推荐使用STM32Cube来加速你的开发过程,并为以后的产品平台移植打下良好的基础。1.新建工程
打开STM32cubeMX软件,点击New Project。选择对应开板MCUSTM32F103ZET6)。
153204dwc09v0u05x89i0q.png
选择工程后进入工程界面,如下图所示。
153221n8p6s0d5tdgcdd86.png
2.  配置外设。
RCC设置,选择HSE(外部高速时钟)为Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
153222p7ovh4hy7xrzhtst.png
GPIO口功能选择,PF6,PF7,PF8,PF9为LED1-LED4.找到对应管脚设置为GPIO_Output模式。(黄色引脚为该功能的GPIO已被用作其他功能,可以忽略。绿色表示管脚已使用)
3. 时钟配置
        时钟配置采用图形配置,直观简单。各个外设时钟一目了然。STM32最高时钟为72M,此处只有在HCLK处输入72,软件即可自动配置。(RCC选择外部高速时钟)。
153223jddq3u1p7a1dgl4a.png
4.功能外设配置
153224ihg3zvwbwvgibb9b.png
在配置框我们可以看到有几个区域,分别对应的功能设置如下
  • Multimedia(多媒体):音频视频、LCD
  • Control(控制):定时器
  • Analog(模拟):DAC、ADC
  • Connectivity(通讯连接):串口、SPI 、I2C、USB、ETH
  • SYStem(系统):DMA(直接存储器存取)、GPIO、NVIC、RCC、看门狗
  • middlewares(中间件): FreeRTOS、FATFS、LwIP、USB

此工程中DMA没用的不用配置,NVIC(嵌套中断向量控制器(Nested Vectored Interrupt Controller))配置中断优先级。RCC不用配置。

153225q0pqn0nbkqnnkgnb.png
  • GPIO Pin Level (管脚状态):低电平
  • GPIO mode (管脚模式 ):推挽输出
  • Maximum output speed (最大输出速度):低速
  • User Label (用户标签):LED1




 楼主| suzhanhua 发表于 2022-3-31 23:25 | 显示全部楼层
更改用户标签,管脚配置图会显示管脚的标签。
153227exj9zk9nzw4ix24c.png
4.  功耗计算
这个根据配置的外设计算功耗,不用理会。
153228kzzyzmy9cjl58m08.png
5. 生成工程报告
点击Project –>Generate Reports或者点击快捷图标生成报告。系统会提示先创建一个工程项目。点击Yes设置工程。
153228qbubp2o8kbe5oume.png
输入工程名,选择工程路径(注意不要出现中文,否则可能出错)。工具链/IDE选择MDK-ARM V5。最后面可以设置堆栈大小,此处默认不作修改。
153229rvxv75f5xywyzewj.png

在Code Generator中找到Generated files框,勾选Generated periphera initialization as a pair of '.c/.h' files per IP。外设初始化为独立的C文件和头文件。
153229ew8x8viowrbl5vxo.png



点击生成报告,工程目录下会生成txt文件和pdf文件,里面记录了我们刚才的设置。
6.   生成工程代码



点击Project –>Generate Code或者点击快捷图标生成工程代码。
153230lus9znisz5sepvzz.png

点击Open Project打开工程。到此就配置好工程外设初始化。
153231kf30ph4hl4l30zip.png

点击Build按钮,Build Optput信息框会输出没有错误没有警告。



 楼主| suzhanhua 发表于 2022-3-31 23:34 | 显示全部楼层
6.   添加应用程序
在gpio.c文件中可以看到LED管脚的初始化函数。

153232nndsoa00mf1j00j0.png

在stm32f1xx_hal_gpio.h头文件中可以看到GPIO的操作函数。
153233j9kkiiftkekl1cu6.png

在main函数中的while循环中添加LED流水灯效果的应用程序。
153234tlmlfmmflnedgcem.png
重新编译程序,点击下载到Open103Z-C开发板。如果提示错误,可以点击图标对Option for Target 的Dubug选项进行修改。(图上选的是ST-LINK)
153235lo9cd9gfm9uvw16p.png





点击Settings->Flash Download勾选 Reset and Run选项。这样程序下载后自动启动运行,不用再按一下复位或者重新上电才能运行。 153235op6qa2hppjjhqdzd.png

程序下载到Open103Z-C开发板。可以看到LED1~LED4依次被点亮,实现流水灯的效果。




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

本版积分规则

30

主题

3560

帖子

2

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