当前位置:首页 > 技术 > Cortex-M3 > 正文内容

STM32CubeMX系列教程

Watrt7年前 (2017-12-16)Cortex-M319050


STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列。平台包括了STM32Cube 硬件抽象层(一个STM32抽象层嵌入式软件,确保在STM32系列最大化的便携性)和一套的中间件组件(RTOS, USB, FatFs, TCP/IP,  Graphics, 等等).
  • 直观的STM32微控制器的选择和时钟树配置

  • 微控制器图形化配置外围设备和中间件的功能模式和初始化参数

  • C代码生成项目覆盖STM32微控制器的初始化符合IAR™,Keil的™和GCC编译器。

      对于新的产品设计,我们强烈推荐使用STM32Cube来加速你的开发过程,并为以后的产品平台移植打下良好的基础。1.新建工程
      打开STM32cubeMX软件,点击New Project。选择对应开板MCUSTM32F103ZET6)。

      选择工程后进入工程界面,如下图所示。

      2.  配置外设。

      RCC设置,选择HSE(外部高速时钟)Crystal/Ceramic Resonator(晶振/陶瓷谐振器)

      GPIO口功能选择,PF6,PF7,PF8,PF9LED1-LED4.找到对应管脚设置为GPIO_Output模式。(黄色引脚为该功能的GPIO已被用作其他功能,可以忽略。绿色表示管脚已使用)

      3. 时钟配置

              时钟配置采用图形配置,直观简单。各个外设时钟一目了然。STM32最高时钟为72M,此处只有在HCLK处输入72,软件即可自动配置。(RCC选择外部高速时钟)。

      4.功能外设配置

      • 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不用配置。

      • GPIO Pin Level (管脚状态):低电平

      • GPIO mode (管脚模式 ):推挽输出

      • Maximum output speed (最大输出速度):低速

      • User Label (用户标签):LED1

      更改用户标签,管脚配置图会显示管脚的标签。

      4.  功耗计算

      这个根据配置的外设计算功耗,不用理会。

      5. 生成工程报告

      点击Project –>Generate Reports或者点击快捷图标生成报告。系统会提示先创建一个工程项目。点击Yes设置工程。

      输入工程名,选择工程路径(注意不要出现中文,否则可能出错)。工具链/IDE选择MDK-ARM V5。最后面可以设置堆栈大小,此处默认不作修改。

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

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

      6.   生成工程代码


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

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

      点击Build按钮,Build Optput信息框会输出没有错误没有警告。
      6.   添加应用程序在gpio.c文件中可以看到LED管脚的初始化函数。

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

      在main函数中的while循环中添加LED流水灯效果的应用程序。

      重新编译程序,点击下载到Open103Z-C开发板。如果提示错误,可以点击图标对Option for Target 的Dubug选项进行修改。(图上选的是ST-LINK)

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

      程序下载到Open103Z-C开发板。可以看到LED1~LED4依次被点亮,实现流水灯的效果。
      总结:STM32Cube提供了固件库,用户可直接调用固件库函数来开发,并且可以很好的实现STM32-MCU全系列的代码一致性。同时STM32CubeMX工具提供的可视化引脚、外设、时钟等配置功能,可以帮助快速完成工程的建立、初始化。大大降低了开发者的工作量。    后续我们会结合微雪Open746I-C开发板,通过STM32cubeMX系列教程讲解如何学习STM32F7系列的片上外设。通过STM32F7系列的学习,可以让各位更快的掌握其他系列的使用方法。
      分享给朋友:

      相关文章

      STM32CubeMX系列教程4:PWM

      STM32CubeMX系列教程4:PWM

      1.PWM简介       脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调试。是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。广泛应用在从测量、通信到功率控制与变换的许多领域中。例如上图中,图b)是微处理输出的数字信号,实际上他接到电机等功率设备上时,效果相当于图a)。这就是PWM调制。例如输出占空比为50%,频率为10Hz的脉冲,高电平为3.3V.则其输出的模拟效果相...

      STM32CubeMX系列教程15:看门狗(WDG)

      STM32CubeMX系列教程15:看门狗(WDG)

      一、看门狗简介        看门狗其实就是一个定时器,从功能上说它可以让微控制器在程序发生意外(程序进入死循环或跑飞)的时候,能重新回复到系统刚上电状态,以保障系统出问题的时候可以重启一次。说的复杂一点,看门狗就是能让程序出问题是能重新启动系统。二、独立看门狗(IWDG)         前文再续,书接上一会,上一章说到待机模式可以通过IWDG唤醒,独立看门口功能框图如下。实际上独立看门口狗就是一个递减计...

      STM32CubeMX系列教程19:Quad-SPI

      STM32CubeMX系列教程19:Quad-SPI

      一.Quad-SPI简介        在第十章和第十一章中,我们介绍了标准的SPI总线,SPI由四根线控制,NSS为片选,SCK为时钟信号线。MISO,MOSI为数据线,一根作为输入,一根作为输出。        Quad-SPI,即四线SPI,由此可知其数据线比标准的SPI接口要多,最多支持四条数据线同时传输。连接单、双或四(条数据线) SPI Flash 存储介质。Quad-SPI总共有6根...

      STM32CubeMX系列教程20:Nand Flash

      STM32CubeMX系列教程20:Nand Flash

      一、Nand Flash 简介        Flash 中文名字叫闪存,是一种长寿命的非易失性(断电数据不丢失)的存储器。可以对称为块的存储器单元块进行擦写和再编程,在进行写入操作之前必须先执行擦除。功能性分为两种:NOR Flash:允许随机存取存储器上的任何区域,以编码应用为主,其功能多与运算相关Nand Flash:主要功能是存储资料,适合储存卡之类的大量数据的存储。本章以K9F1G08U0E芯片为例讲解Nand Flash。如下为此芯片的数据手册...

      发表评论

      访客

      看不清,换一张

      ◎欢迎参与讨论,请在这里发表您的看法和观点。