- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通用计时器的使用timer实验讲述
通用计时器 Timer
通用计时器 Timer
详细资料:光盘目录\DSP5509开发板\应用资料\官方手册\ TMS320VC5509 DSP Timers Reference Guide.pdf
Chapter 1 General?Purpose Timer
句柄 handle
通常句柄的概念:
在windows中,是一个数字,通常为32位,作用类似于一个索引,在windows中用以代表一个对象。
windows中的句柄类似于传统C或者MS_DOS所使用的文件句柄。
windows程序总是通过调研windows函数以获取句柄。句柄本身的值实际并不重要,重要的是很多windows函数需要通过句柄来引用它所代表的对象。
句柄 handle
DSP中的定义
typedef struct { Uint16 Private;} TIMER_Private, *TIMER_Handle;
// 定义在csl_timer.h头文件中
虽然是结构体的封装形式,但实际内容仅仅一个16位无符号整数成员。用来标识DSP上的片上外设资源。
对比定义:是一个数字,为16位,作用类似于一个索引,在TMS55x的DSP中用以代表一个对象。
句柄 handle
Eg本例程中使用到的句柄相关的API操作:
做为返回值:
做为函数参数传递:
Timer的寄存器
2个计数寄存器
PSC
TIM 主计数寄存器
2个周期寄存器
TDDR
PRD 主周期计数器
计时器控制寄存器
TCR
Timer寄存器配置
通用配置模板
TIMER_Config Config1 = {
0x0010, /* tcr */
0xFFFF, /* prd */
0xF0F0, /* prsc */
};
本例程的配置:
TIMER_Config timCfg0 = { TIMER_CTRL, /* TCR0 */ 0x3400u, /* PRD0 */ 0x0000 /* PRSC */};
TCR
TCR中的FUNC bit值,可以将计时器引脚配置为:
通用输出
计时器输出
一个时钟输入或高阻状态
#define TIMER_CTRL TIMER_TCR_RMK(\ TIMER_TCR_IDLEEN_DEFAULT, /* IDLEEN == 0 */ \ TIMER_TCR_FUNC_OF(0), /* FUNC == 0 */ \
。。。。。}
引脚功能:无。引脚处于高阻状态。时钟源:DSP时钟发生器
TCR
TIMER_TCR_ARB_RESET, /* ARB == 1 */
自动重新装入位:
ARB=1,主计数器(TIM)一旦减少为0,计数寄存器自动从周期寄存器重新装入
PRD-》TIM
TDDR-》PSC
Timer的速率
计时器发出信号的速率:
TDDR=0x0
PRD=0x3400= 13312(十进制)
输入时钟12M(HX-5509开发板12M晶体)
XF引脚输出的LED:
0101010101…..
全局变量xfchange控制输出方向
timer0_cnt控制次数
文档评论(0)