1481|0

2015

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

DSP TMS320C5509A之定时器TIMER [复制链接]

定时器是用于控制ADC的采样频率的,需要配合看

代码如下:

#include <csl.h>
#include <csl_irq.h>
#include <csl_timer.h>
#include <stdio.h.>
#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 <stdio.h>
#ifndef __TIMER1_H__
#define __TIMER1_H__
extern Uint16 TimerRdy;  
//extern void IniTimer1(void);
#endif
 

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表