匿名
未登录
登录
丢石头百科
搜索
查看“STM32CubeMX系列教程概述”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
STM32CubeMX系列教程概述
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列。平台包括了STM32Cube 硬件抽象层(一个STM32抽象层嵌入式软件,确保在STM32系列最大化的便携性)和一套的中间件组件(RTOS, USB, FatFs, TCP/IP, Graphics, 等等). * 直观的STM32微控制器的选择和时钟树配置* 微控制器图形化配置外围设备和中间件的功能模式和初始化参数* C代码生成项目覆盖STM32微控制器的初始化符合IAR™,Keil的™和GCC编译器。对于新的产品设计,我们强烈推荐使用STM32Cube来加速你的开发过程,并为以后的产品平台移植打下良好的基础。 <b style="background-color: inherit;">1.新建工程</b> 打开STM32cubeMX软件,点击New Project。选择对应开板MCU(STM32F103ZET6)。 [[File:153204dwc09v0u05x89i0q.png]] 选择工程后进入工程界面,如下图所示。 [[File:153221n8p6s0d5tdgcdd86.png]] <b style="background-color: inherit;">2. 配置外设。</b> RCC设置,选择HSE(外部高速时钟)为Crystal/Ceramic Resonator(晶振/陶瓷谐振器) [[File:153222p7ovh4hy7xrzhtst.png]] GPIO口功能选择,PF6,PF7,PF8,PF9为LED1-LED4.找到对应管脚设置为GPIO_Output模式。(黄色引脚为该功能的GPIO已被用作其他功能,可以忽略。绿色表示管脚已使用) <b style="background-color: inherit;">3. 时钟配置</b> 时钟配置采用图形配置,直观简单。各个外设时钟一目了然。STM32最高时钟为72M,此处只有在HCLK处输入72,软件即可自动配置。(RCC选择外部高速时钟)。 [[File:153223jddq3u1p7a1dgl4a.png]] <b style="background-color: inherit;">4.功能外设配置</b> [[File: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不用配置。 [[File:153225q0pqn0nbkqnnkgnb.png]] * GPIO Pin Level (管脚状态):低电平* GPIO mode (管脚模式 ):推挽输出* Maximum output speed (最大输出速度):低速* User Label (用户标签):LED1更改用户标签,管脚配置图会显示管脚的标签。 [[File:153227exj9zk9nzw4ix24c.png]] <b style="background-color: inherit;">4. 功耗计算</b> 这个根据配置的外设计算功耗,不用理会。 [[File:153228kzzyzmy9cjl58m08.png]] <b style="background-color: inherit;">5. 生成工程报告</b> 点击Project –>Generate Reports或者点击快捷图标生成报告。系统会提示先创建一个工程项目。点击Yes设置工程。 [[File:153228qbubp2o8kbe5oume.png]] 输入工程名,选择工程路径(注意不要出现中文,否则可能出错)。工具链/IDE选择MDK-ARM V5。最后面可以设置堆栈大小,此处默认不作修改。 [[File:153229rvxv75f5xywyzewj.png]] 在Code Generator中找到Generated files框,勾选Generated periphera initialization as a pair of '.c/.h' files per IP。外设初始化为独立的C文件和头文件。 [[File:153229ew8x8viowrbl5vxo.png]] 点击生成报告,工程目录下会生成txt文件和pdf文件,里面记录了我们刚才的设置。 <b style="background-color: inherit;">6. 生成工程代码</b> 点击Project –>Generate Code或者点击快捷图标生成工程代码。 [[File:153230lus9znisz5sepvzz.png]] 点击Open Project打开工程。到此就配置好工程外设初始化。 [[File:153231kf30ph4hl4l30zip.png]] 点击Build按钮,Build Optput信息框会输出没有错误没有警告。 <b style="font-family: 微软雅黑;">6. 添加应用程序</b> 在gpio.c文件中可以看到LED管脚的初始化函数。 [[File:153232nndsoa00mf1j00j0.png]] 在stm32f1xx_hal_gpio.h头文件中可以看到GPIO的操作函数。 [[File:153233j9kkiiftkekl1cu6.png]] 在main函数中的while循环中添加LED流水灯效果的应用程序。 [[File:153234tlmlfmmflnedgcem.png]] 重新编译程序,点击下载到Open103Z-C开发板。如果提示错误,可以点击图标对Option for Target 的Dubug选项进行修改。(图上选的是ST-LINK) [[File:153235lo9cd9gfm9uvw16p.png]] <syntaxhighlight lang="python"> </syntaxhighlight> <syntaxhighlight lang="python"> </syntaxhighlight> 点击Settings->Flash Download勾选 Reset and Run选项。这样程序下载后自动启动运行,不用再按一下复位或者重新上电才能运行。 [[File:153235op6qa2hppjjhqdzd.png]] 程序下载到Open103Z-C开发板。可以看到LED1~LED4依次被点亮,实现流水灯的效果。 <b style="line-height: 1.5; font-size: 14px;">总结:</b>STM32Cube提供了固件库,用户可直接调用固件库函数来开发,并且可以很好的实现STM32-MCU全系列的代码一致性。同时STM32CubeMX工具提供的可视化引脚、外设、时钟等配置功能,可以帮助快速完成工程的建立、初始化。大大降低了开发者的工作量。 后续我们会结合微雪Open746I-C开发板,通过STM32cubeMX系列教程讲解如何学习STM32F7系列的片上外设。通过STM32F7系列的学习,可以让各位更快的掌握其他系列的使用方法。
返回至
STM32CubeMX系列教程概述
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志