用stm32cubemx点亮一个流水灯
来源:互联网 发布:jquery传json数据 编辑:程序博客网 时间:2024/05/16 11:31
STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列。平台包括了STM32Cube 硬件抽象层(一个STM32抽象层嵌入式软件,确保在STM32系列最大化的便携性)和一套的中间件组件(RTOS, USB, FatFs, TCP/IP, Graphics, 等等).
- 直观的STM32微控制器的选择和时钟树配置
- 微控制器图形化配置外围设备和中间件的功能模式和初始化参数
- C代码生成项目覆盖STM32微控制器的初始化符合IAR™,Keil的™和GCC编译器。
1.新建工程
打开STM32cubeMX软件,点击New Project。选择对应开板MCU(STM32F103ZET6)。
更改用户标签,管脚配置图会显示管脚的标签。打开STM32cubeMX软件,点击New Project。选择对应开板MCU(STM32F103ZET6)。
选择工程后进入工程界面,如下图所示。
2. 配置外设。
RCC设置,选择HSE(外部高速时钟)为Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
GPIO口功能选择,PF6,PF7,PF8,PF9为LED1-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. 生成工程代码
点击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系列的学习,可以让各位更快的掌握其他系列的使用方法。
阅读全文
0 0
- 用stm32cubemx点亮一个流水灯
- 树莓派点亮一个流水灯
- STM32-点亮一个LED灯-流水灯
- 点亮流水灯
- STM32CubeMx 针对407 discovery点亮LED灯
- 学单片机预备知识、如何点亮一个发光管、流水灯程序
- 流水灯循环左移点亮
- 定时器---实现流水灯循环移位点亮
- STM32CubeMX 1 创建一个新工程 利用时钟点亮LED KEIL5 Jlink配置
- 点亮一个LED灯
- 点亮LED(跑马灯实验和流水灯实验)
- [ M3 PN ] STM32F10XXX(Cortex-M3) MDK-RAM 点亮流水灯
- 一步步点亮LED6_再难一点的流水灯效果
- 如何用keil和proteus点亮流水灯
- STM32CubeMX使用--第一讲、点亮led
- 流水灯51单片机最小系统,顺序、反向点亮,从左到右再从右到左点亮
- 树莓派点亮一个led灯
- 用proteus点亮一个灯泡
- 三阶贝塞尔曲线公式计算坐标
- C++自由存储区内存分配
- 关于关闭弹窗
- Unity 一个方法调用用一个类的方法
- Spring IOC源码详解之容器初始化
- 用stm32cubemx点亮一个流水灯
- mac源码安装tensorflow
- 笨办法学 Python · 续 练习 8:`cut`
- 常用的git 指令
- python Unicode转为int
- JQ的serialize方法会进行编码
- Java内存模型JMM与可见性
- 逗号运算、关系运算、逻辑运算和条件运算
- react项目学习笔记四(redux和redux的中间件redux-thunk的认识)