公司网站建设文章,河南郑州做网站,有ip地址如何做网站,开发一个app的步骤一、概述 无论是新手还是大佬#xff0c;基于STM32单片机的开发#xff0c;使用STM32CubeMX都是可以极大提升开发效率的#xff0c;并且其界面化的开发#xff0c;也大大降低了新手对STM32单片机的开发门槛。 本文主要面向初次接触STM32CubeMX的同学#xff0c;大…一、概述 无论是新手还是大佬基于STM32单片机的开发使用STM32CubeMX都是可以极大提升开发效率的并且其界面化的开发也大大降低了新手对STM32单片机的开发门槛。 本文主要面向初次接触STM32CubeMX的同学大佬们可以跳过直接看单独的外设篇章。
二、软件说明 STM32CubeMX是ST官方出的一款针对ST的MCU/MPU跨平台的图形化工具支持在Linux、MacOS、Window系统下开发其对接的底层接口是HAL库另外习惯于寄存器开发的同学们也可以使用LL库。STM32CubeMX除了集成MCU/MPU的硬件抽象层另外还集成了像RTOS文件系统USB网络显示嵌入式AI等中间件这样开发者就能够很轻松的完成MCU/MPU的底层驱动的配置留出更多精力开发上层功能逻辑能够更进一步提高了嵌入式开发效率。 演示版本 6.7.0
三、下载链接
官网链接https://www.st.com/zh/development-tools/stm32cubemx.html 百度网盘链接https://pan.baidu.com/s/1HsHTmnJPZMZD1reCkMiXew?pwdeq5j 提取码eq5j
四、软件使用
安装软件后双击打开软件界面比较清晰主要功能都放主界面上了。
New Project新建工程可以根据芯片型号、开发板类型、例程建工程。 Manage software installaions软件包安装CHECK FOR UPDATES是用于更新软件自身INSTALL/REMOVE是用于芯片包的安装和移除跟Keil一样需要哪个系列的芯片就安装哪个芯片包。 About STM32 External Tools前者是给ST自己打广告的后者就是ST的一个工具生态链一些相关工具可以在里面看到比如ST的IDE工具——STM32CubeIDE。 我们先选择根据MCU型号新建一个工程。
-最上方可以切换MCU、开发板或例程。 -左边是一个搜索框可以根据芯片型号直接搜索也可以通过芯片资源或芯片信息来找到合适的芯片。 -右下则是具体的芯片型号及一其基本信息搜索结果也会在这里体现选中并双击芯片型号即确认并新建工程。 -右上的框是在选中芯片后会显示芯片的一些具体信息。 新建一个工程因为我手头上只有一块STM32F072RB的开发板所以这里选这个芯片。 新建完工程后根据选择的芯片型号主界面会显示对应的芯片及其引脚分布。 每个引脚可以单独选择对应的功能哪些端口能配哪些外设这里面都可以直观地看出来不用再去查芯片手册省了不少时间。配置好一个功能后引脚颜色会变绿色。如果选完功能后引脚变黄色比如配置了定时器的某个通道这说明功能配置不完全需要到左边的外设窗口进行详细配置。 左边窗口对芯片外设做了一些分类点击对应的外设可以在详细配置的窗口中进行功能配置。
System Core系统及内核相关的配置比如系统时钟、GPIO、中断、内部看门狗等。 Analog模拟量相关的外设比如ADC、DAC、比较器等。 Timers定时器相关的外设比如定时器、RTC等。 Connectivity通信相关的外设比如I2C、SPI、UART等。 Multimedia多媒体相关的外设比如I2S、HDMI等。 Computing算法相关的外设比如硬件CRC等。 Middleware中间件比如FreeRTOS、FATFS等。 切换时钟配置窗口Clock Configuration可以对单片机的时钟树进行直观地配置这里最方便的就是修改主频后工具会自动算出其他所有外设的时钟配置。如果需要对某个外设时钟进行分频处理可以单独设置。 在生成工程代码之前先进入工程配置界面Project Manager对工程进行一些配置比如设置工程的路径以及需要生成什么IDE的工程。另外针对于每一个外设可以自主选择使用LL库或是HAL库。 配置完成后点击GENERATE CODE生成工程及代码。在生成的工程里添加自己代码时需要注意一点生成的代码里有很多USER CODE BEGIN和USER CODE END的备注这些其实是提醒你应用代码要写在这个区间内这样工具在重新生成工程时可以通过识别这些备注进行选择性覆盖避免每次改完配置又得重新键入应用代码。 查看工程文件.ioc的目录下多了一个完整的工程打开工程编译是可以直接编译通过的。 至此STM32CubeMX这个工具的一些常规使用功能就介绍完了想了解具体外设的配置请移步独立的外设篇章。
五、注意事项
1、配置完外设后无论生成HAL库还是LL库的代码基本都只是给你初始化好外设但实际使能或者打开中断则需要自己来操作。HAL库一般可能只需要调一个启动接口就行不同外设有不同操作不可一概而论LL库则需要操作的寄存器会多一些可以参考HAL的实现来操作和理解。 2、自动生成的代码也不完全是没问题的要留点心眼。就比如之前遇到过F103的芯片配置ADC用DMA传输时因为生成的代码ADC和DMA的初始化顺序反了导致初始化出现异常。 3、添加应用代码时尽量添加在工程代码里备注着用户代码起始到结束的区间内这样后面使用CubeMX修改配置重新生成工程时不会覆盖自己添加的应用代码。
六、相关链接
STM32CubeMX-Uart配置 STM32CubeMX-GPIO配置 STM32CubeMX-外部中断配置 STM32CubeMX-ADC配置 STM32CubeMX-CRC配置 STM32CubeMX-定时器定时配置 STM32CubeMX-定时器输入捕获配置 STM32CubeMX-定时器比较输出配置 STM32CubeMX-I2C配置 STM32CubeMX-SPI配置 STM32CubeMX-NandFlash/FMC总线配置