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

TI DSP TMS320F280025 Note13:CPUtimer定时器原理分析与使用

TMS320F280025 CPUtimer定时器原理分析与使用


`

文章目录

  • TMS320F280025 CPUtimer定时器原理分析与使用
  • 框图分析
  • 定时器中断
  • 定时器使用
    • CPUtimers.c
    • CPUtimers.h


框图分析

定时器框图如图所示

在这里插入图片描述

定时器有一个预分频模块和一个定时/计数模块, 其中预分频模块包括一个 16 位的定时器分频寄存器(TDDRH: TDDR) 和一个 16 位的预定标计数器(PSCH: PSC) ; 定时/计数模块包括一个 32 位的周期寄存器(PRDH: PRD)和一个 32 位的计数寄存器(TIMH:TIM)

使用定时器时初始化好定时器,设置好装载值并且启动定时器
在这里插入图片描述

每个系统时钟都会使定时器16位的预定标计数器减一,当16位的预定标计数器减到0时,16位的预定标计数器重置,同时32位计数器减一
在这里插入图片描述

当32位计数器减到0时,32位计数器重置,同时触发定时器中断

即:
当系统时钟(SYSCLKOUT) 来一个脉冲, PSCH: PSC 预定标计数器减 1, 当 PSCH: PSC 预定标计数器减到 0 的时候, 预定标计数器产生下溢后向定时器的 32 位计数器 TIMH:TIM 借位, 即 TIMH:TIM 计数器减 1, 同时 PSCH: PSC 可以重载定时器分频寄存器(TDDRH: TDDR) 的值; 当计数寄存器 TIMH: TIM 减到 0 产生下溢的时候, 计数寄存器会重载周期寄存器(PRDH: PRD) 的值, 同时定时器会产生一个中断信号给 CPU。

定时器中断

在这里插入图片描述

CPU定时器0的中断通过PIE传播给CPU
CPU定时器1和2的中断是直接传播给CPU
注意定时器中断优先级
定时器 0的中断属于 PIE 第一组中断中的第 7 个小中断。
在这里插入图片描述

CPU定时器1和2中断
在这里插入图片描述

定时器使用

(1) 使能定时器时钟

(2) 初始化定时器参数, 包括制定定时器寄存器地址、 周期寄存器值、 预定标计数器值等。

(3) 定时器的设置

(4) 开启定时器中断功能, 并使能定时器

(5) 编写定时器中断服务函数

CPUtimers.c

/** TimerDriver.c**  Created on: 2024年8月8日*      Author:*/
#include "main.h"
#include "TimerDriver.h"//
// Function Prototypes
//
__interrupt void cpuTimer0ISR(void);
__interrupt void cpuTimer1ISR(void);
__interrupt void cpuTimer2ISR(void);/** 配置定时器CpuTimer0、1、2,注意1、2不经过PIE*/
void Time

相关文章:

TI DSP TMS320F280025 Note13:CPUtimer定时器原理分析与使用

TMS320F280025 CPUtimer定时器原理分析与使用 ` 文章目录 TMS320F280025 CPUtimer定时器原理分析与使用框图分析定时器中断定时器使用CPUtimers.cCPUtimers.h框图分析 定时器框图如图所示 定时器有一个预分频模块和一个定时/计数模块, 其中预分频模块包括一个 16 位的定时器分…...

Australis 相機率定軟體說明

概要 課堂中使用Australis這套軟體,順帶記錄操作過程 內容以老師口述及我測試的經過 照片為老師課堂提供之 說明 執行 Step1. 匯入照片 注意!!如果是Mac的作業系統,將資料夾移到Windows上的時候,建議創一個新的資料…...

C++入门(有C语言基础)

string类 string类初始化的方式大概有以下几种: string str1;string str2 "hello str2";string str3("hello str3");string str4(5, B);string str5[3] {"Xiaomi", "BYD", "XPeng"};string str6 str5[2];str…...

第四届高性能计算与通信工程国际学术会议(HPCCE 2024)

目录 大会简介 主办单位,承办单位 征稿主题 会议议程 参会方式 大会官网:www.hpcce.net 大会简介 第四届高性能计算与通信工程国际学术会议(HPCCE 2024)将于2024年11月22-24日在苏州召开。HPCCE 2024将围绕“高性能计算与通信工…...

负载均衡架构解说

负载均衡架构是一种设计模式,用于在多个服务器之间分配网络或应用流量,以提高资源利用率、最大化吞吐量、减少响应时间,并确保高可用性。 负载均衡架构的关键组件和概念: 关键组件 1.负载均衡器(Load Balancer&…...

【异常数据检测】孤立森林算法异常数据检测算法(数据可视化 Matlab语言)

摘要 本文研究了基于孤立森林算法的异常数据检测方法,并在MATLAB中实现了该算法的可视化。孤立森林是一种无监督的异常检测算法,主要通过构建决策树来区分正常数据和异常数据。本文使用真实数据集,通过二维可视化展示了检测结果。实验结果表…...

MKV转MP4丨FFmpeg的简单命令使用——视频格式转换

MKV是一种视频封装格式,很好用,也是OBS的默认推荐录制格式,因为不会突然断电关机而导致整个视频录制文件丢失。 但是MKV无法直接导入PR中剪辑,最直接的方法是将MKV转换为MP4格式,最方便且安全无损的转换方法便是用FFmp…...

git使用“保姆级”教程4——版本回退及分支讲解

一、版本回退 1、历史回退(版本回退)——命令行git reset --hard 版本编号 注意:当前命令会让工作区的内容发生改变,可以理解成历史区(master分支)直接回到工作区比如:从版本4回到版本3,则工作区只会显示版本3的代码内容 1.1、指…...

spring cache,Spring data redis

本项目使用Redis存储缓存数据,如何通过Java去访问Redis? 常用的有Jedis和Lettuce两个访问redis的客户端类库 ,Jedis和Lettuce都是redis提供的。其中Lettuce的性能和并发性要好一些,Spring Boot 默认使用的是 Lettuce 作为 Redis …...

10.数据结构与算法-线性表的应用(线性表与有序表的合并)

线性表的合并 有序表的合并 顺序表 链表...

GAN|对抗| 生成器更新|判别器更新过程

如上图所示,生成对抗网络存在上述内容: 真实数据集;生成器;生成器损失函数;判别器;判别器损失函数;生成器、判别器更新(生成器和判别器就是小偷和警察的关系,他们共用的…...

day01——登录功能

逻辑: 前端将登录信息通过报文的形式,发送给后端。后端进行登陆验证 2.1 根据接受的用户名,查询数据表。 若不存在该用户的记录,返回用户不存在。 若用户存在,判断数据库中的密码和接收的是否一致,不一致则…...

Flutter中使用FFI的方式链接C/C++的so库(harmonyos)

Flutter中使用FFI的方式链接C/C库(harmonyos) FFI plugin创建和so的配置FFI插件对so库的使用 FFI plugin创建和so的配置 首先我们可以根据下面的链接生成FFI plugin插件:开发FFI plugin插件 然后在主项目中pubspec.yaml 添加插件的依赖路径&…...

【C++】二义性

在C中,二义性(ambiguity)通常指的是编译器无法确定使用哪个函数、变量或类成员的情况。这种不确定性通常是由于继承和多态特性导致的。下面是一些常见的产生二义性的场景以及如何解决它们的方法: 1. 多重继承中的二义性 当一个类…...

高并发内存池(五):ThreadCache、CentralCache和PageCache的内存回收机制、阶段性代码展示和释放内存过程的调试

目录 ThreadCache的内存回收机制 补充内容1 补充内容2 补充内容3 补充内容4 ListTooLong函数的实现 CentralCache的内存回收机制 MapObjectToSpan函数的实现 ReleaseListToSpans函数的实现 PageCache的内存回收机制 补充内容1 补充内容2 ReleaseSpanToPageCache函…...

STL之stackqueue篇(上)探索C++ STL中的Queue与Stack——构建数据处理的基础框架

文章目录 前言一、stack1.1 定义与基本概念1.2 底层容器1.3 成员函数1.4 使用示例1.5 注意事项1.6 应用场景 二、queue2.1 定义与基本概念2.2 底层容器2.3 成员函数2.4 使用示例2.5 注意事项2.6 应用场景 前言 本文旨在深入探讨C STL中的queue与stack容器,从它们的…...

代码随想录算法训练营Day13

110.平衡二叉树 力扣题目链接:. - 力扣(LeetCode) 后序迭代 class Solution {public boolean isBalanced(TreeNode root) {return getHeight(root)!-1;}public int getHeight(TreeNode root){if(rootnull){return 0;}int leftheightgetHei…...

基于STM32的智能门禁系统

目录 引言项目背景环境准备 硬件准备软件安装与配置系统设计 系统架构关键技术代码示例 RFID数据采集与处理门禁控制实现显示与报警功能应用场景结论 1. 引言 智能门禁系统在现代安防中占据重要地位,通常用于控制进入和离开特定区域的权限。通过基于STM32微控制器…...

[EBPF] 实时捕获DM数据库是否存在SQL阻塞

1. 介绍 eBPF(extened Berkeley Packet Filter)是一种内核技术,它允许开发人员在不修改内核代码的情况下运行特定的功能。eBPF 的概念源自于 Berkeley Packet Filter(BPF),后者是由贝尔实验室开发的一种网…...

秋招内推--招联金融2025

【投递方式】 直接扫下方二维码,或点击内推官网https://wecruit.hotjob.cn/SU61025e262f9d247b98e0a2c2/mc/position/campus,使用内推码 igcefb 投递) 【招聘岗位】 后台开发 前端开发 数据开发 数据运营 算法开发 技术运维 软件测试 产品策…...

DeepSeek Serverless冷启动优化实录:从1200ms到47ms的7次迭代,附Go/Rust双语言Runtime调优参数表

更多请点击: https://intelliparadigm.com 第一章:DeepSeek Serverless冷启动优化全景概览 DeepSeek Serverless 平台在 AI 模型推理场景中面临显著的冷启动延迟挑战,尤其当模型权重加载、CUDA 上下文初始化与 Python 运行时预热叠加时&…...

Selenium自动化测试常见的异常处理

在软件开发和测试领域,Selenium作为一种广泛使用的自动化测试工具,扮演着至关重要的角色。随着自动化测试的不断普及,如何在测试过程中有效捕获并处理异常,成为了每个测试工程师必须掌握的技能。本文旨在深入探讨Selenium异常处理的方法,通过丰富的案例和代码,帮助新手朋…...

ARM HCR_EL2寄存器解析与虚拟化控制

1. ARM HCR_EL2寄存器架构解析HCR_EL2(Hypervisor Configuration Register)是ARMv8/v9架构中用于控制虚拟化行为的关键系统寄存器。作为Hypervisor的主要控制接口,它定义了EL2对低特权级(EL1/EL0)执行环境的监控策略。…...

小熊猫Dev-C++:零配置C/C++开发环境的终极指南

小熊猫Dev-C:零配置C/C开发环境的终极指南 【免费下载链接】Dev-CPP A greatly improved Dev-Cpp 项目地址: https://gitcode.com/gh_mirrors/dev/Dev-CPP 小熊猫Dev-C(Red Panda Dev-C)是一款专为C/C开发者设计的现代化集成开发环境&…...

清华系团队造出能“边听边说、边看边想“的AI耳朵MiniCPM-o 4.5

这项由清华大学自然语言处理实验室(THUNLP)主导、OpenBMB开源社区联合推出的研究成果,于2026年4月30日以预印本形式发布在arXiv平台,编号为arXiv:2604.27393。感兴趣的读者可通过这个编号检索到完整论文。**一场关于"耳朵和嘴…...

ClawGuard:为Clawdbot AI智能体打造的安全监控与熔断防护系统

1. 项目概述:ClawGuard 是什么,以及为什么你需要它如果你正在使用或开发基于 Clawdbot 框架的 AI 智能体,那么“安全”和“可控”这两个词,大概率已经在你脑海里盘旋过无数次了。我接触过不少团队,从最初的兴奋于 AI 智…...

2026年邵阳高复机构大揭秘,哪家才是学子的理想之选?

高考失利后,复读成为许多学子重新追逐梦想的途径。在邵阳,众多高复机构如繁星般闪耀,而湘郡铭志学校高复部无疑是其中一颗璀璨的明星。接下来,让我们深入了解湘郡铭志学校高复部,同时对比其他知名高复机构,…...

喜马拉雅VIP音频下载指南:xmly-downloader-qt5完整解决方案

喜马拉雅VIP音频下载指南:xmly-downloader-qt5完整解决方案 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5 你是否曾为…...

零代码到全球上线:我用 Dify + EdgeOne Pages 为跨境电商打造了一个 7×24 小时 AI 智能客服

文章目录每日一句正能量目录1. 引言:一个独立站卖家的深夜焦虑2. 技术选型:为什么选择 Dify EdgeOne Pages?3. 场景拆解:跨境电商客服的三大核心痛点3.1 痛点一:意图混杂,一句话可能包含多个需求3.2 痛点二…...

英特尔转型芯片代工:从IDM巨头到服务商的六大挑战与机遇

1. 英特尔代工之路:从IDM巨头到服务提供商的六大挑战在半导体行业,英特尔这个名字几乎就是高性能微处理器的代名词。这家公司凭借其垂直整合制造模式,在过去几十年里构筑了难以撼动的技术护城河。然而,当行业的目光从单纯的制程竞…...