DSP

DSP TMS320C5509A之定时器TIMER

2019-07-13 16:08发布

定时器是用于控制ADC的采样频率的,需要配合看 https://blog.csdn.net/pxy198831/article/details/86615497DSP TMS320C5509A之ADC MAX121 和https://blog.csdn.net/pxy198831/article/details/86582362DSPTMS320C5509A之初始化(一) 代码如下: #include #include #include #include #define TIMER_TCR_CTRL TIMER_TCR_RMK( TIMER_TCR_IDLEEN_DISABLE, /*禁止进入IDLE状态*/ TIMER_TCR_FUNC_OF(1), /*TIN/TOUT为定时器输出*/ TIMER_TCR_TLB_RESET, /*将PRD,TDDR分别复制到TIM、PSC中*/ TIMER_TCR_SOFT_DEFAULT, /**/ TIMER_TCR_FREE_DEFAULT, TIMER_TCR_PWID_OF(0), /*脉冲宽度为1个CPU时钟周期*/ TIMER_TCR_ARB_RESET, /*计算结束后,PRD、TDDR自动装入TIM和PSC*/ TIMER_TCR_TSS_STOP, /*启动定时器*/ TIMER_TCR_CP_CLOCK, /*输出时钟占空比为50%*/ TIMER_TCR_POLAR_DEFAULT, /*时钟输出极性低电平*/ TIMER_TCR_DATOUT_DEFAULT ) //extern void VECSTART(void); TIMER_Config timCfg0 = { TIMER_TCR_CTRL, 1599, //PRD = 1599 //采样率为62.5kHz 0x00 //TDDR = 0 }; //初始化定时器0,用于给ADC提供采样时钟 void IniTimer0(void) { TIMER_Handle hTimer0; hTimer0 = TIMER_open(TIMER_DEV0,0); TIMER_config(hTimer0,&timCfg0); TIMER_start(hTimer0); //启动定时器 }   由于主频设置为200MHz,定时器Timer的时钟为CPU主频的一半,只需要更改PRD分频系数的值, 就可以改变定时器的时钟,假如设置为1599,200MHz/2/(1599+1)=62.5KHz 定时器的头文件如下: #include #ifndef __TIMER1_H__ #define __TIMER1_H__ extern Uint16 TimerRdy; //extern void IniTimer1(void); #endif