stm32cube配置周期任务

发布者:VelvetSoul最新更新时间:2025-03-10 来源: jianshu关键字:stm32cube  配置 手机看文章 扫描二维码
随时随地手机看文章

一,前言

我做同样的事喜欢用不同的方法,之前刚刚写完一个国产芯片的最小工程代码,套路都是一样的。所以今天我玩自己的stm32F407开发板就不想再手写代码了,期望用工具生成低代码的方式来实现最小工程led闪烁。

二,stm32cube入门

之前就用过,但是有写忘记了。晚上稍微看了下又想起来了。至于系统时钟,外设时钟配置为多少,timer要如何分频的基本上单片机都是类似的,找到对应章节看下就知道了了。我的配置如下time外设使用的时钟是42M APB1时钟


image.png?imageView2/2/w/1000


Timer6的配置如下1ms中断。timer7同样思路配置为5ms中断。


image.png?imageView2/2/w/1000


打开中断,中断优先级在nvic中配置,我做的是可抢占的2个周期任务

image.png?imageView2/2/w/1000


三,遇到的问题总结

要手工将启动文件的路径添加到工程中,否则编译报错'error: L6236E: No section matches selector - no section to be FIRST/LAST.'


手写代码要放入USER CODE BEGIN的注释内,否则重新生成代码会被覆盖。


一开始无法进入中断,看了代码发现没有使能time中断初始化,后来看到有api及网上搜索下了,原来是要手工添加的。我手动添加的code如下


//放在初始化while前面

    HAL_TIM_Base_Start_IT(&htim6);

    HAL_TIM_Base_Start_IT(&htim7);

//放在main函数上面unsigned short cnt1ms=0u;unsigned short cnt5ms=0u;void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){

    if (htim->Instance == htim6.Instance)

    {

            if(cnt1ms++>=500)  /* 500ms flash */

            {

                cnt1ms=0;

                HAL_GPIO_TogglePin(GPIOF, LED0_Pin);

            }

    }

        else if (htim->Instance == htim7.Instance)

        {

                if(cnt5ms++>=100)  /* 500ms flash */

                {

                    cnt5ms=0;

                    HAL_GPIO_TogglePin(GPIOF, LED1_Pin);

                }

        }

        else

        {

        }   }


四,小结

为什么我开始用低代码工具了呢!因为我不想重复劳动了。做个最小工程就像看小家电说明书一样去看spec,每个厂家寄存器不同,但是设计思路是雷同的,我说的重复劳动就是这个雷同的内容我比较熟悉,所以不想重复劳动。既然是业余时间玩,就玩个不同的,所以今晚就决定用工具了。真的是分分钟搞定,我连寄存器都不用看了,仅快速看了timer和rcc章节的原理就完成了配置,哈哈~



关键字:stm32cube  配置 引用地址:stm32cube配置周期任务

上一篇:stm32cube配置spi驱动st7735s屏
下一篇:stm32F407(TJA1050)CAN通信成功

推荐阅读最新更新时间:2026-03-26 11:24

5、STM32Cube的串口配置与使用
一、串口的配置 1)首先打开你的工程,在STM32Cube里面找到USART1,此时串口默认是Disanle的,我们要使能它,选择Asynchronous. 2)然后点击Configuration,就会有一个串口的配置图框,点进去配置串口,如果需要用到中断,选择NVIC进去进行相关配置。 串口配置: 串口中断使能: 点击NVIC选项,设置优先级和分组 二、查看串口内的函数API Keil工程内选择{ }Functions,然后选择你需要查看的目标源文件,展开既是该源码内的函数 串口的发送接收函数: HAL_UART_Transmit();//串口轮询模式发送,使用超时管理机制 HAL_UAR
[单片机]
5、<font color='red'>STM32Cube</font>的串口<font color='red'>配置</font>与使用
STM32Cube工具学习笔记(一)Cube配置
前几周接触到了STM32CubeMX这个工具,以下简称Cube,先简单介绍一下这个工具吧。 STM32CubeMX是ST出的一款免费的开发工具,近几年ST也在一直大力推这个工具,也在推行新的HAL库(an STM32 abstraction layer embedded software ensuring maximized portability across the STM32 portfolio)硬件抽象层API。使用HAL库开发的好处是方便用户在不同的芯片平台上移植代码。 Cube的作用是通过图形化的配置生成基础的工程文件,生成的文件包含了芯片初始化代码,现支持IAR、MDK、TureSTUDIO等IDE, 对于用
[单片机]
<font color='red'>STM32Cube</font>工具学习笔记(一)Cube<font color='red'>配置</font>
STM32Cube MX 下IIC的配置与使用--GPIO模拟
本文介绍了在STM32下的IIC的基本使用方法,通过对板载具备IIC接口EEPROM的读写,完成对IIC驱动程序的测试。 硬件平台:STM32F107VCT6开发板 软件平台:STM32Cube MX + MDK5.22 1. 进行STM32Cube MX的配置 配置PB6和PB7为输出模式,同时配置了USART1进行串口调试使用。然后生成工程。 2. 打开工程,可以看到GPIO的初始化状态 3. 模拟IIC驱动程序源文件代码 /** * @file iic_dup.c * @brief IIC上层程序 * @par date version author remar
[单片机]
<font color='red'>STM32Cube</font> MX 下IIC的<font color='red'>配置</font>与使用--GPIO模拟
STM32Cube的串口配置与使用
1、串口的配置 1)首先打开你的工程,在STM32Cube里面找到USART1,此时串口默认是Disanle的,我们要使能它,选择Asynchronous. 2)然后点击Configuration,就会有一个串口的配置图框,点进去配置串口,如果需要用到中断,选择NVIC进去进行相关配置。 串口配置: 串口中断使能: --------------------------------------------------------------------------------------------------------------------------------------------
[单片机]
<font color='red'>STM32Cube</font>的串口<font color='red'>配置</font>与使用
STM32Cube在Main里判断USB是否已连接到电脑
首先添加这两个Includes: #include usbd_def.h #include usbd_hid.h 然后就可以在代码里用这个来判断是否有连接了: if(hUsbDeviceFS.dev_state==USBD_STATE_CONFIGURED) 主要有这几个状态: /* Device Status */ #define USBD_STATE_DEFAULT 0x01U #define USBD_STATE_ADDRESSED 0x02U #define USBD_STATE_CONFIGURED 0
[单片机]
用户手册|X-CUBE-SBSFU STM32Cube扩展包入门
引言 本用户手册介绍了如何开始使用X-CUBE-SBSFU STM32Cube扩展包。 X-CUBE-SBSFU安全启动和安全固件更新解决方案使STM32微控制器内部固件可升级到新版本,添加新功能,和纠正潜在问题。升级过程是以安全的方式进行,以防未经授权的更新,并阻止访问设备上的机密数据。 安全启动(可信根服务)是一种不可变代码,总是在系统复位后执行,它检查STM32静态保护、激活STM32运行时保护、然后在每次执行前验证应用程序代码的真实性和完整性,以确保无效或恶意代码无法运行。 安全固件更新应用通过使用Ymodem协议的UART接口接收固件映像,检查其真实性,并在安装代码之前检查其完整性。固件更新可更新整
[单片机]
用户手册|X-CUBE-SBSFU <font color='red'>STM32Cube</font>扩展包入门
STM32Cube是什么?
在学习 STM32 的时候,你学的是标准外设库还是HAL库? 过去大家都使用标准外设库进行开发,因为它是对STM32芯片的完整封装,包括所有标准器件外设的器件驱动器。但随着STM32的发展,目前标准外设库已停止更新,未来会逐渐被淘汰,由HAL库取而代之。 HAL是 ST 公司主推的 STM32Cube 生态系统的器件驱动库,STM32Cube 生态系统是个高效的生产力工具,包含丰富的工具软件和器件驱动库。 目前,HAL 库已经支持STM32 全线产品。 所以,现在学习 STM32 开发,应该学习基于STM32Cube 生态系统的开发方式。 01 STM32Cube是什么? 在 ST 公司的发展过程中,STM 系列嵌入式单片机也
[单片机]
<font color='red'>STM32Cube</font>是什么?
stm32cube怎么安装 STM32CubeMX安装步骤教程
STM32 CubeMX是STM32 芯片 图形化配置工具,通过简单的操作便能实现相关配置,省去了我们配置各种外设的时间,支持MDK、IAR F or ARM 、TrueStudio等多种工具。 安装CubeMX分三步: JRE( Java Run ti me Environment) STM32CubeMX STM32的HAL固件库 这三部分 资料 可以在网盘上下载,链接及提取码如下: 链接:https://pan.b ai du.com/s/1I-QRA4Cmc9K4FufRv4PsRw 提取码:stm3 安装JRE 因为STM32CubeMX是用JAVA开发的,所以需要JRE(Java运行时环境)。 在上文提供的
[单片机]
<font color='red'>stm32cube</font>怎么安装 STM32CubeMX安装步骤教程
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved