stm32cube 是一个全面的软件平台,包括了st产品的每个系列。平台包括了stm32cube 硬件抽象层(一个stm32抽象层嵌入式软件,确保在stm32系列最大化的便携性)和一套的中间件组件(rtos, usb, fatfs, tcp/ip, graphics, 等等)。
直观的stm32微控制器的选择和时钟树配置
微控制器图形化配置外围设备和中间件的功能模式和初始化参数
c代码生成项目覆盖stm32微控制器的初始化符合iar,keil的和gcc编译器。
对于新的产品设计,我们强烈推荐使用stm32cube来加速你的开发过程,并为以后的产品平台移植打下良好的基础。
新建工程
打开stm32cubemx软件,点击new project。选择对应开板mcu(stm32f103zet6)。
选择工程后进入工程界面,如下图所示。
配置外设
rcc设置,选择hse(外部高速时钟)为crystal/ceramic resonator(晶振/陶瓷谐振器)。
gpio口功能选择,pf6,pf7,pf8,pf9为led1-led4.找到对应管脚设置为gpio_output模式。(黄色引脚为该功能的gpio已被用作其他功能,可以忽略。绿色表示管脚已使用)
时钟配置
时钟配置采用图形配置,直观简单。各个外设时钟一目了然。stm32最高时钟为72m,此处只有在hclk处输入72,软件即可自动配置。(rcc选择外部高速时钟)。
功能外设配置
在配置框我们可以看到有几个区域,分别对应的功能设置如下
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不用配置。
gpiopinlevel(管脚状态):低电平
gpiomode (管脚模式 ):推挽输出
maximum output speed (最大输出速度):低速
userlabel (用户标签):led1
更改用户标签,管脚配置图会显示管脚的标签。
功耗计算
这个根据配置的外设计算功耗,不用理会。
生成工程报告
点击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文件,里面记录了我们刚才的设置。
生成工程代码
点击project –>generate code或者点击快捷图标生成工程代码。
点击open project打开工程。到此就配置好工程外设初始化。
点击build按钮,build optput信息框会输出没有错误没有警告。
添加应用程序
在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系列的学习,可以让各位更快的掌握其他系列的使用方法。
欧洲能源危机持续升级!欧洲各国面临能源危机不断加剧局面
手持or车载式测绘仪器CPU芯片用底部填充胶
浅谈微控制器的音频编码技术
EMC认证极其三个重要规律解读
如何选择合适的芯片或模块进行物联网开发
STM32CubeMX系列的开发配置步骤解析
到2025年物联网潜在经济影响将达到每年11万亿美元
怎样做好一名程序员
科学家最新研发成果 可将电池寿命延长一百倍
专利揭秘iPhone6s的Touch ID速度为何快一倍
玩转5元MCU,合宙Air32零代码实现USB转串口
新唐科技W588D070主板介绍
OPPO正在开发自己的移动芯片组 称为OPPO M1
全球首个推力突破20吨航空发动机F135,我国歼20战机10B发动机相差甚远
5G目前的建设情况如何我们还需要多久才能够用上5G
小米发布旗下首款曲面显示器 21:9带鱼屏+144Hz刷新率
荣耀V9首销即打败红米Note4X, 第二波余3月7日开售!
管道泵选型指南
像学习编程一样学习深度学习模型开发
努比亚Z17S什么时候上市?最新消息:小米MIX2劲敌来袭10月12日发布,全面屏2.1很惊喜