CCS中使用DSP定时器的计时程序,可以精确计算某一段程序的执行时间

#include <csl_timer.h>

TIMER_Handle hTimer0;
TIMER_Config TimerConfig =
{
	TIMER_CTL_RMK
	(
		TIMER_CTL_SPND_EMUSTOP,
		TIMER_CTL_INVINP_NO,
		TIMER_CTL_CLKSRC_CPUOVR8,	//定时器的频率是CPU频率的1/8
		TIMER_CTL_CP_PULSE,
		TIMER_CTL_HLD_NO,			//时钟有效
		TIMER_CTL_GO_NO,			//时钟没有开启
		TIMER_CTL_PWID_TWO,
		TIMER_CTL_DATOUT_1,
		TIMER_CTL_INVOUT_YES,
		TIMER_CTL_FUNC_TOUT
	),
	0xffffffff,			//定时器计数值,一旦达到该值就会产生中断,该计数值可以最大计数57秒不中断
	0x0								//计数器初值
};

void Timer0_Cnt()
{
	float timecnt,timeval;

	hTimer0 = TIMER_open(TIMER_DEV0,TIMER_OPEN_RESET);		//打开定时器0,返回操作句柄
	TIMER_config(hTimer0,&TimerConfig);						//使用配置结构体配置定时器0

	TIMER_start(hTimer0);									//开始计数

	/***********此处为要计时的程序段***********/

	timecnt = TIMER_getCount(hTimer0);						//获取定时器的计数值
	TIMER_pause(hTimer0);									//停止计数

	timeval = (float)(timecnt*8/600000000);					//将计数值转化为时间值
	printf("The time spended is %fs",timeval);				//打印程序运行时间
}
  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蛋蛋强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值