当前位置: 首页 > news >正文

HAL-Cubemax定时器使用记录


title: HAL-Cubemax定时器使用记录
tags:

  • STM32
  • Hal
  • Cubemax

文章目录

  •   HAL-Cubemax定时器使用记录
        • 分享一种思路
          • 1.创建一个ms(毫秒)级延时中断
          • 2.创建计数的变量
          • 3.在需要延时的函数中对变量阈值进行判断
          • 4.验证实例--完整使用记录代码
    • 问题
      • 往期内容
          • 基础库
          • HAL+ cubemax + VSCODE + GCC

  HAL-Cubemax定时器使用记录


  我们有些程序在执行或者和下位几交互的过程中可能会出现下位机硬性规定需要等待多少秒的情况然而我们的程序又必须得执行下去,这样会造成单片机大量资源出现过度浪费的情况解决这种问题的办法有很多。

分享一种思路
1.创建一个ms(毫秒)级延时中断
2.创建计数的变量
3.在需要延时的函数中对变量阈值进行判断
4.验证实例–完整使用记录代码

Cubemax创建一个ms定时器很简单这里不赘述附上参考链接:

STM32CubeMX学习笔记(5)——基本定时器接口使用

uint32_t time = 0;

extern uint32_t time;

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){if(htim->Instance == TIM7)  // 定时器6基地址{​    // 自定义应用程序​    time++;      // 每1ms进来1次}}

业务逻辑

 while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */​    if(time == 1000)  // 每1秒LED灯翻转一次​    {​      HAL_GPIO_TogglePin(LED_G_GPIO_Port,LED_G_Pin);​      time = 0;​    }}

这样就能做到每秒触发一次少占用资源了

问题

if(time == 1000)

这里我们是让它到达1000ms时 就触发业务函数 如若单业务逻辑比较多时

此时到达1000msif 来不及判断 那么 这个函数永远没有执行 那么 这种情况如何处理 ?

如果是换成if(time >= 1000)

又那么超过了多少个ms呢?

往期内容

基础库

01VScode开发stm32环境搭建

02点亮一个LED

03按键控制LED

HAL+ cubemax + VSCODE + GCC

HAL PWM 配置 占空比 频率

HAL-DMA中断空闲接受不定长数据

HAL-按键-MultiButton使用记录

http://www.lryc.cn/news/383639.html

相关文章:

  • 同时使用磁吸充电器和Lightning时,iPhone充电速度会变快吗?
  • 零成本搭建个人图床服务器
  • SpringBoot 搭建sftp服务 实现远程上传和下载文件
  • IDEA中使用leetcode 刷题
  • 华为海思CPU解读
  • 中介子方程三十三
  • 今年哪两个行业可能有贝塔?
  • 嵌入式软件开发工具使用介绍
  • 【TB作品】MSP430G2553,单片机,口袋板, 交通灯控制系统
  • windows 安装 Kubernetes(k8s)
  • C语言 | Leetcode C语言题解之第189题轮转数组
  • 【安全审核】音视频审核开通以及计费相关
  • 【实战】Spring Cloud Stream 3.1+整合Kafka
  • java之可变字符串之append方法
  • [保姆级教程]uniapp自定义导航栏
  • 项目训练营第二天
  • 考研数学一有多难?130+背后的残酷真相
  • vue2脚手架笔记总结1
  • 校园巡礼:一周只上四天课,入学即发钱?深圳理工大学,开局即王炸
  • 免交互 实验
  • Sublime Text 设置
  • spire.Pdf 将pdf转成image
  • 仓颉编程语言 -- 初识(一)
  • 前端JS必用工具【js-tool-big-box】学习,数值型数组的正向排序和倒向排序
  • python web框架哪家强?Flask、Django、FastAPI对比
  • Mybatis plus:IService接口
  • 时序分析基本概念介绍——min pulse width 最小脉冲宽度
  • PHP原生代码生成pdf---解决中文乱码问题
  • 智慧车库管理系统
  • 每日新闻掌握【2024年6月26日 星期三】