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

邯郸网络运营中心电话多少郑州seo公司

邯郸网络运营中心电话多少,郑州seo公司,数据库电影网站源码,晋江网站建设企业要查看 DSP F28377 的 CPU 在 50 微秒一次的中断内所有程序运行完总共占用了中断多长时间,可以采用硬件定时器测量和软件计时两种常见方法。 方法一:使用硬件定时器测量 原理 利用 DSP 内部的高精度硬件定时器,在中断开始时记录定时器的值…

要查看 DSP F28377 的 CPU 在 50 微秒一次的中断内所有程序运行完总共占用了中断多长时间,可以采用硬件定时器测量和软件计时两种常见方法。

方法一:使用硬件定时器测量

原理

利用 DSP 内部的高精度硬件定时器,在中断开始时记录定时器的值,在中断结束时再次记录定时器的值,通过两次记录值的差值来计算中断程序的执行时间。

步骤

1.初始化硬件定时器
选择一个合适的硬件定时器(如 CPU 定时器),并对其进行初始化,配置定时器的时钟源、计数模式和计数周期等参数,使其能够精确计时。

#include "F28x_Project.h"void InitCpuTimer(void);void main(void)
{// 初始化系统InitSysCtrl();// 初始化 CPU 定时器InitCpuTimer();// 其他初始化操作// 启用全局中断EINT;ERTM;while(1){// 主循环}
}void InitCpuTimer(void)
{// 初始化 CPU 定时器 0CpuTimer0Regs.TCR.all = 0x00000000;CpuTimer0Regs.PRD.all = 0xFFFFFFFF;CpuTimer0Regs.TPR.all = 0;CpuTimer0Regs.TPRH.all = 0;CpuTimer0Regs.TCR.bit.TSS = 1; // 停止定时器CpuTimer0Regs.TCR.bit.TRB = 1; // 重载定时器
}

2.在中断服务函数中记录时间
在中断服务函数的入口处启动定时器,在中断服务函数的出口处停止定时器,并读取定时器的计数值,计算两次计数值的差值。

__interrupt void myInterrupt(void)
{Uint32 startTime, endTime;// 启动定时器CpuTimer0Regs.TCR.bit.TSS = 0;// 记录开始时间startTime = CpuTimer0Regs.TIM.all;// 中断服务程序代码// ...// 记录结束时间endTime = CpuTimer0Regs.TIM.all;// 停止定时器CpuTimer0Regs.TCR.bit.TSS = 1;// 计算中断执行时间Uint32 executionTime = startTime - endTime;// 处理执行时间,例如打印输出// ...// 清除中断标志PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}

3.换算时间
根据定时器的时钟频率,将计数值的差值换算成实际的时间(微秒)。例如,如果定时器的时钟频率为 100MHz(周期为 10ns),则计数值的差值乘以 10 就是实际的时间(ns),再除以 1000 就可以得到微秒数。

方法二:软件计时

原理

利用一个全局变量在中断开始时记录系统时钟的计数值,在中断结束时再次记录系统时钟的计数值,通过两次计数值的差值来计算中断程序的执行时间。

步骤

1.定义全局变量
在全局作用域定义一个用于记录系统时钟计数值的变量。

#include "F28x_Project.h"volatile Uint32 systemClockCount;void main(void)
{// 初始化系统InitSysCtrl();// 其他初始化操作// 启用全局中断EINT;ERTM;while(1){// 主循环}
}

2.在中断服务函数中记录时间
在中断服务函数的入口处记录系统时钟的计数值,在中断服务函数的出口处再次记录系统时钟的计数值,计算两次计数值的差值。

 

__interrupt void myInterrupt(void)
{Uint32 startTime, endTime;// 记录开始时间startTime = systemClockCount;// 中断服务程序代码// ...// 记录结束时间endTime = systemClockCount;// 计算中断执行时间Uint32 executionTime = endTime - startTime;// 处理执行时间,例如打印输出// ...// 清除中断标志PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}

3.更新系统时钟计数值
在一个定时中断(如 CPU 定时器中断)中更新系统时钟计数值。

 

__interrupt void cpuTimer0ISR(void)
{// 更新系统时钟计数值systemClockCount++;// 清除中断标志CpuTimer0Regs.TCR.bit.TIF = 1;PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}

4.换算时间
根据定时中断的周期,将计数值的差值换算成实际的时间(微秒)。例如,如果定时中断的周期为 1 微秒,则计数值的差值就是实际的时间(微秒)。

通过以上两种方法,可以准确地测量中断内所有程序运行完总共占用的时间。


文章转载自:

http://9NCbq2kL.rbbgh.cn
http://4yOpE4xQ.rbbgh.cn
http://Pe85ApyA.rbbgh.cn
http://e5SflQgE.rbbgh.cn
http://U60CGp4P.rbbgh.cn
http://fTgYVoj9.rbbgh.cn
http://i7jWMZKz.rbbgh.cn
http://ymMADcmp.rbbgh.cn
http://gHFBVlqG.rbbgh.cn
http://x9Zh3rbF.rbbgh.cn
http://7l0hwEKN.rbbgh.cn
http://g8YLQiAz.rbbgh.cn
http://CCUhVxTt.rbbgh.cn
http://XxxWidFZ.rbbgh.cn
http://VpTC88zt.rbbgh.cn
http://9pDyiYmj.rbbgh.cn
http://lBcKv8CZ.rbbgh.cn
http://BQxspvB6.rbbgh.cn
http://SSb5tzyB.rbbgh.cn
http://ciSqtoY0.rbbgh.cn
http://SikxjhoM.rbbgh.cn
http://RJldMFYo.rbbgh.cn
http://PZLJHpW4.rbbgh.cn
http://RwusX5PM.rbbgh.cn
http://ncwfWFMl.rbbgh.cn
http://qf56CZPU.rbbgh.cn
http://nlUGkaEM.rbbgh.cn
http://0XRGeglO.rbbgh.cn
http://WGcOH96P.rbbgh.cn
http://mRVWHN7G.rbbgh.cn
http://www.dtcms.com/wzjs/637757.html

相关文章:

  • 网站代理怎么设置免费网络推广网站大全
  • 做网站买什么笔记本好个人简历表格模板
  • 华为公司网站建设方案上海网站建设开发
  • 做设计的一般在什么网站找素材公司logo墙
  • 茂名网站建设托管用爬虫做数据整合网站
  • 唐山建站方案房管局网站做房查
  • 宁波网站建设就找荣胜自己做的微课上传到哪个网站
  • 怎么在windows做网站莱芜吧贴吧
  • 乐陵网站服务在哪一条企业logo设计说明
  • 网站设计报价怎么做flash网站as
  • 青岛模板做网站凡科网站产品导航怎么做
  • 上传网站图片不显示网站开发浏览器分辨率
  • wordpress企业门户网站拼多多卖网站建设
  • 郑州高端网站建设团队杭州搜索引擎推广排名技术
  • 网站建设与管理介绍产品营销网站建设
  • 网站建设的步骤及方法黑龙江建设网官方
  • 上海迈诺网站建设wordpress 开发框架
  • 建设网站要用什么软件wordpress做网站过程
  • 廊坊网站制作建设做网站推广公司
  • 现在最流行的网站开发工具餐饮系统的网站应该怎么做
  • 大型网站服务器价格重庆建设厅的网站首页
  • 工信部 网站备案 上传电子快速推广
  • 国内优秀企业网站设计公司网站设计制作长沙
  • 镇江外贸网站建设市场营销四大基本策略
  • 搜索引擎网站有哪些晋城市建设局网站
  • 只做一页的网站多少钱网站维护的具体方法
  • 长沙做网站 青创互联企业网站建设东莞
  • 上海建设部网站黄金行情app下载
  • 如何使用表格做网站建立网站要花多少钱
  • 怎么查看自己网站有没有做301文字短链接生成器