推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

实验51_软件定时器与硬件定时器配合.docx

更新时间:2026-09-13 11:59:34 大小:38K 上传用户:烟雨查看TA发布的资源 标签:软件定时器硬件定时器SysTick微秒级精度信号量 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

实验 51:软件定时器与硬件定时器配合

实验说明

实验概述

软件定时器基于系统节拍中断(SysTick),精度受限于系统节拍频率(通常 1ms)。而硬件定时器具有更高的精度(可达微秒级),适合需要精确时序的场景。本实验演示如何将软件定时器与硬件定时器配合使用:软件定时器作为"长周期、低精度"的定时任务,硬件定时器作为"短周期、高精度"的定时触发源。

实验原理

系统启动时初始化硬件定时器(如 TIM3),配置为微秒级精度的 PWM 或单次触发模式。软件定时器以较粗的粒度(如 100ms)运行,负责管理状态机、人机交互等不要求精确时序的任务。当硬件定时器产生中断时,通过信号量或任务通知唤醒高优先级任务,实现精确时序控制。

关键知识点

1. 软件定时器精度受限于系统节拍(通常 1ms)。

2. 硬件定时器可实现微秒级精确时序。

3. 两者配合:软件定时器管理状态,硬件定时器处理精确时序。

实验现象

软件定时器每 100ms 打印一次状态信息,硬件定时器每 50μs 触发一次中断,通过信号量通知处理任务。

完整代码

  c
#include "FreeRTOS.h"
#include "task.h"
#include "semphr.h"
#include "timers.h"
#include "stm32f7xx_hal.h"
#include <stdio.h>

SemaphoreHandle_t xHwTimerSem = NULL;
TimerHandle_t xSwTimer = NULL;


部分文件列表

文件名 大小
实验51_软件定时器与硬件定时器配合.docx 38K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单
  • 21下载积分 打赏60.00元   3天前

    用户:gsy幸运

  • 21下载积分 打赏70.00元   3天前

    用户:铁蛋锅

  • 21下载积分 打赏65.00元   3天前

    用户:xzxbybd

  • 21下载积分 打赏60.00元   3天前

    用户:jh0355

  • 21下载积分 打赏60.00元   3天前

    用户:w178191520

  • 21下载积分 打赏20.00元   3天前

    用户:jh03551

  • 21下载积分 打赏20.00元   3天前

    用户:sun2152

  • 21下载积分 打赏20.00元   3天前

    用户:kk1957135547

  • 21下载积分 打赏25.00元   3天前

    用户:w1966891335

  • 21下载积分 打赏20.00元   3天前

    用户:xuzhen1

  • 21下载积分 打赏15.00元   3天前

    用户:x15580286248

  • 21下载积分 打赏25.00元   3天前

    用户:pcb

  • 21下载积分 打赏20.00元   3天前

    用户:bhacker

  • 21下载积分 打赏15.00元   3天前

    用户:liqiang9090

  • 21下载积分 打赏25.00元   3天前

    用户:有理想666

  • 21下载积分 打赏15.00元   3天前

    用户:godbox

  • 21下载积分 打赏15.00元   3天前

    用户:aetek

  • 21下载积分 打赏5.00元   3天前

    用户:mulanhk

  • 21下载积分 打赏5.00元   3天前

    用户:JuneLin61

推荐下载