精华内容
下载资源
问答
  • DSP_timer_LED,DSP定时器编程,LED显示程序
  • 2812 dsp定时器

    2012-03-08 22:11:16
    详细介绍了dsp2812的定时器:包括时钟的倍频,分频,定时器结构等
  • uC/OS II 多任务,堆栈检查,DSP定时器,卷积,滤波器实验报告
  • DSP定时器方波程序

    2011-12-06 20:05:39
    定时器实现的DSP方波程序,适合DSP入门的实验例子
  • 计数器/定时器原理及举例 例,设时钟频率为16.384MHz,在TMS320C5402的XF端输出一个周期为2s的方波,方波的周期由片上定时器确定,采用中断方法实现。
  • dsp定时器实验(timer)

    2009-01-05 15:07:32
    定时器实验......................................................
  • 前面的学习中介绍了CPU定时器与中断系统,下面借助两个实例回顾下之前的学习内容! 实例1:利用蜂鸣器模拟基本音级 1.1 蜂鸣器的工作原理 蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声...

    前面的学习中介绍了CPU定时器与中断系统,下面借助两个实例回顾下之前的学习内容!

    实例1:利用蜂鸣器模拟基本音级

    1.1 蜂鸣器的工作原理

    蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机 IO 引脚输出的电流较小,单片机输出的 TTL 电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。实验板通过一个三极管 Q1 来放大驱动蜂鸣器。

    1.2 蜂鸣器的分类

    蜂鸣器按其是否带有信号源又分为有源和无源两种类型。有源蜂鸣器只需要在其供电端加上额定直流电压,其内部的震荡器就可以产生固定频率的信号,驱动蜂鸣器发出声音。无源蜂鸣器可以理解成与喇叭一样,需要在其供电端上加上高低不断变化的电信号才可以驱动发出声音。对于有源和无源的驱动方式,略有不同,先讲解一下有源蜂鸣器的驱动方法。有源蜂鸣器因为内含有信号源,因此只要加上额定的工作电压就可以发出固定频率的声音。对于无源的蜂鸣器,驱动其发出声音就较为复杂,因为它本身不带信号源,因此,只是通上电源,是不能发出声音的,必须要不断的重复“通电-断电”,才能使其发出声音,我们可以通过编写程序,控制 GPIO口不断的置为高电平—低电平—高电平…,这样蜂鸣器就可以不断的通、断电,从而发出声音。而通电、断电的时间不同,相当于振荡周期的不同,因此又可以得到不同频率的声音。

    1.3 蜂鸣器的硬件电路图

    从下面的电路图中可以看出,控制蜂鸣器发生的高低电平输入信号接口为GPIO7。通过控制GPIO7开启关闭的时间不同,就可以控制蜂鸣器得到不同频率的声音信号。
    在这里插入图片描述在这里插入图片描述

    1.4 DSP如何输出组频率

    为了让 dsp 发出不同频率的声音,采用定时中断来计算延时时间,只需将定时器预置不同的定时值就可实现不同时间的定时。以标准音高 A 为例: A 的频率 f=440Hz,其对应的周期为: T=1/f=1/440=2272us。
    在这里插入图片描述
    DSP 控制蜂鸣器的波形图,通过对 GPIO端口 循环的置位、清零来达到输出固定频率波形,相对于 A 音频率 440Hz 如图 T=2272us,那么 t=T/2=2272/2=1136us 所以,我们只要在程序中将 GPIO置为高电平,延时 1136us,再置为低电平,延时 1136us,如此循环,就可以得到440Hz 频率的声音。
    在这里插入图片描述

    1.5 代码实例

    #include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File
    #include "DSP2833x_Examples.h"   // DSP2833x Examples Include File
    /****************端口宏定义*****************/
    #define BUZZ_CLK_GENER	GpioDataRegs.GPATOGGLE.bit.GPIO7 = 1;	//蜂鸣器控制IO电平翻转
    #define BELL_DIR GpioCtrlRegs.GPADIR.bit.GPIO7                  //定义IO输出方向
    #define BELL_DAT GpioDataRegs.GPADAT.bit.GPIO7                  //定义IO寄存器数值
    #define DISABLE_TIMER1_INT		IER &= 0xFFFE;          //CPU中断使能标志位清除
    #define ENABLE_TIMER1_INT		IER |= M_INT1;          //CPU中断使能标志位使能
    #define BUZZ_OFF	 GpioDataRegs.GPACLEAR.bit.GPIO7 = 1;   //IO输出清除
    Uint16 Musi[23]=
    {		                 //单位 us,不同频率下,蜂鸣器发出不同音调的声音
            0,
            3816,	//L_do
    	3496,	//L_re
    	3215,	//L_mi
    	2865,	//L_fa
    	2551,	//L_so
    	2272,	//L_la
    	2024,	//L_xi
    	1912,	//do
    	1703,	//re
    	1517,	//mi
    	1432,	//fa
    	1275,	//so
    	1136,	//la
    	1013,	//xi
    	956,	//H_do
    	851,	//H_re
    	758,	//H_mi
    	716,	//H_fa
    	638,	//H_so
    	568,	//H_la
    	506,	//H_xi
    	0xFF	//STOP
    };
    Uint16 Song[]={1,2,3,4,5,6,7}; //乐谱:do,re,mi,fa,so,la,xi
    
    /****************函数声明*******************/ 
    void Init_Bell(void);
    interrupt void cpu_timer0_isr(void);
    void Delay(Uint16 t);
    void main(void)
    {
    	Uint16 addr=0;
    	Uint16 k;
    	InitSysCtrl();    //  初始化系统控制:
       	BELL_DAT=0;       //设置端口为低电平
       	Init_Bell();     //设置蜂鸣器端口输出  
      	DINT;            // 禁止CPU全局中断
       	InitPieCtrl();   // 初始化PIE控制寄存器到他们的默认状态,即禁止PIE中断及清除所有PIE中断标志 
       	IER = 0x0000;    // 禁止CPU中断和清除所有CPU中断标志 
      	IFR = 0x0000;
       	InitPieVectTable();     //初始化PIE中断向量表,并使其指向中断服务子程序(ISR)
       	EALLOW;                   //解除寄存器保护
       	PieVectTable.TINT0 = &cpu_timer0_isr;// 本例中的中断重新映射到本文件中的中断服务子程序中  
       	EDIS;                                                     // 添加寄存器保护
       	InitCpuTimers();   // 初始化片内外设,本例仅需要初始化CPU定时器
       	ConfigCpuTimer(&CpuTimer0, 150, 1000000);// 配置CPU定时器1每秒发生一次中断
       	StartCpuTimer0();  //开始计时器
       	IER |= M_INT1;     //使能CPU中断线INT1,连接到CPU定时器0的;
       	PieCtrlRegs.PIEIER1.bit.INTx7 = 1;// 使能PIE组1中断7,TINT0中断;
       	EINT;    // 使能全局中断INTM
      	ERTM;   // 使能全局实时中断DBGM
       	for(k=0;k<7;k++) // 步骤 6. 中断控制蜂鸣器开关频率,延时函数定义乐拍,7次循环分别让蜂鸣器响7种乐声:
      	{
            	StopCpuTimer0();					//停止计数
    		DISABLE_TIMER1_INT;					//不使能定时器中断
    		ConfigCpuTimer(&CpuTimer0, 150, Musi[Song[addr]+14]/2);	//根据音节的频率设置定时时间
    		StartCpuTimer0();					//重启定时器
    		ENABLE_TIMER1_INT;					//使能定时中断
    		Delay(8);						//音乐节拍延时
    		StopCpuTimer0();					//停止计数
    		DISABLE_TIMER1_INT;					//不使能定时中断
    		BUZZ_OFF;						//关闭蜂鸣器
    		Delay(2);						//音乐停顿
    		addr++;                                                 //连续发出乐谱:do,re,mi,fa,so,la,xi
      	}
    	while(1);  
    } 
    
    /*-----------------------------------------*/
    /*形式参数:void                            */
    /*返回值:void				   */
    /*函数描述:初始化蜂鸣器端口为输出              */
    /*-----------------------------------------*/
    void Init_Bell(void)
    {
    	EALLOW;	   //解除寄存器保护
    	BELL_DIR=1;//Bell端口输出
    	EDIS;      //寄存器保护
    } 
    /*------------------------------------------*/
    /*形式参数:void                             */
    /*返回值:void				    */
    /*函数描述:定时器CPU0中断服务子程序            */
    /*------------------------------------------*/ 
    
    interrupt void cpu_timer0_isr(void)
    {
       CpuTimer0.InterruptCount++;
       BUZZ_CLK_GENER;     //GPIO口输出电平翻转
       PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;    //PIEACK标志位置位,告诉PIE可以接受本组其他中断处理
    }
    
    void Delay(Uint16 t)			     //延时函数
    {
    	Uint32 i=0;
    	Uint32 gain = 300000;	
    	Uint32 base=0;								
    	base=gain*t; 															
    	for(i=0;i<=base;i++);
    }
    

    实例2:利用定时器中断实现LED灯变频闪烁

    实例比较简单,直接上源码。

    #include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File
    #include "DSP2833x_Examples.h"   // DSP2833x Examples Include File
    /***************************************************************************************************
    **Description  ** 全局变量定义
    ***************************************************************************************************/
    volatile unsigned int timer_int_cnt;
    interrupt void cpu_timer0_isr(void);
    interrupt void cpu_timer1_isr(void);
    interrupt void cpu_timer2_isr(void);
    void Gpio_select(void);
    void main(void)
    {
       	InitSysCtrl();   //  初始化系统控制,包括看门狗、PLL、外部时钟
       	Gpio_select();	 // 初始化使用到的GPIO口;
       	DINT;            //禁止CPU中断
       	InitPieCtrl();   //初始化PIE控制寄存器到他们的默认状态,即禁止PIE中断及清除所有PIE中断标志
       	IER = 0x0000;    // 禁止CPU中断
       	IFR = 0x0000;    // 清除所有CPU中断标志
       	InitPieVectTable();//初始化PIE中断向量表,并使其指向中断服务子程序(ISR)
       	EALLOW;            //解除寄存器保护
       	PieVectTable.TINT0 = &cpu_timer0_isr;         //PIE组1第7个中断为定时器Timer0(外设中断)
       	PieVectTable.XINT13 = &cpu_timer1_isr;        //TINT13为CPU定时器中断Timer1(内部中断源)
       	PieVectTable.TINT2 = &cpu_timer2_isr;         //TINT2为CPU定时器中断Timer2(内部中断源)
       	EDIS;              //寄存器保护
       	InitCpuTimers();   // 初始化CPU定时器
    
    #if (CPU_FRQ_150MHZ)      // 配置CPU定时器 0, 1, and 2 中断周期,150MHzCPU频率, 周期单位为us;
       	ConfigCpuTimer(&CpuTimer0, 150, 100000);    //Timer0定时器中断周期为0.1s
       	ConfigCpuTimer(&CpuTimer1, 150, 200000);    //Timer1定时器中断周期为0.2s
       	ConfigCpuTimer(&CpuTimer2, 150, 400000);    //Timer2定时器中断周期为0.4s
    #endif
       	CpuTimer0Regs.TCR.all = 0x4001; // 设置TIE = 1,开启定时器0中断
      	CpuTimer1Regs.TCR.all = 0x0001; // 设置TIE = 0,关闭定时器1中断
       	CpuTimer2Regs.TCR.all = 0x0001; // 设置TIE = 0,关闭定时器2中断
       	IER |= M_INT1;                  //使能CPU中断线INT1
       	IER |= M_INT13;                 //使能CPU中断线INT13
       	IER |= M_INT14;                 //使能CPU中断线INT14
       	PieCtrlRegs.PIEIER1.bit.INTx7 = 1;    //使能PIE组1第七位的使能标志位
       	EINT;     // 使能全局中断INTM
       	ERTM;     // 使能全局实时中断DBGM
    	timer_int_cnt = 0;
       	for(;;);
    }
    interrupt void cpu_timer0_isr(void)       //Timer0中断处理函数
    {
       	CpuTimer0.InterruptCount++;
       	EALLOW;
        	if(timer_int_cnt++ >= 12) 
        	{
            	timer_int_cnt = 0;
            	CpuTimer0Regs.TCR.all = 0x0001;           // 设置TIE = 0,关闭定时器0中断
            	CpuTimer1Regs.TCR.all = 0x4001;           // 设置TIE = 1,开启定时器1中断
            	CpuTimer2Regs.TCR.all = 0x0001;           // 设置TIE = 0,关闭定时器2中断
        	}
    
    	GpioDataRegs.GPBTOGGLE.all =0x30000000; 
        	GpioDataRegs.GPCTOGGLE.all =0x00000007;
       	PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;    //PIEACK标志位置位,告诉PIE可以接受本组其他中断处理
       	EDIS;
    }
    
    interrupt void cpu_timer1_isr(void)     //Timer1中断处理函数
    {
       	CpuTimer1.InterruptCount++;
       	EALLOW;
       	if( timer_int_cnt++ >= 12) 
        	{
           	 	timer_int_cnt = 0;
            	CpuTimer0Regs.TCR.all = 0x0001;          // 设置TIE = 0,关闭定时器0中断
            	CpuTimer1Regs.TCR.all = 0x0001;          // 设置TIE = 0,关闭定时器1中断
            	CpuTimer2Regs.TCR.all = 0x4001;          // 设置TIE = 1,开启定时器2中断
        	}
        	GpioDataRegs.GPBTOGGLE.all =0x30000000;          //对应的GPIO高低电平翻转
        	GpioDataRegs.GPCTOGGLE.all =0x00000007;          //对应的GPIO高低电平翻转
       	// The CPU acknowledges the interrupt.
       	EDIS;
    }
    interrupt void cpu_timer2_isr(void)      //Timer2中断处理函数
    {  
       	CpuTimer2.InterruptCount++;
        	EALLOW;
        	if( timer_int_cnt++ >= 12) 
        	{
            	timer_int_cnt = 0;
            	CpuTimer0Regs.TCR.all = 0x4001;          // 设置TIE = 1,开启定时器0中断
            	CpuTimer1Regs.TCR.all = 0x0001;          // 设置TIE = 0,关闭定时器1中断
            	CpuTimer2Regs.TCR.all = 0x0001;          // 设置TIE = 0,关闭定时器2中断
        	}
        	GpioDataRegs.GPBTOGGLE.all =0x30000000; 
        	GpioDataRegs.GPCTOGGLE.all =0x00000007;
       	EDIS;
    }
    void Gpio_select(void)
    {
        	EALLOW;
    	GpioCtrlRegs.GPAMUX1.all = 0x00000000;  // 对应的引脚复用成IO
    	GpioCtrlRegs.GPAMUX2.all = 0x00000000;  // 对应的引脚复用成IO
    	GpioCtrlRegs.GPBMUX1.all = 0x00000000;  // 对应的引脚复用成IO
        	GpioCtrlRegs.GPBMUX2.all = 0x00000000;  // 对应的引脚复用成IO
    	GpioCtrlRegs.GPCMUX1.all = 0x00000000;  // 对应的引脚复用成IO
    	GpioCtrlRegs.GPCMUX2.all = 0x00000000;  // 对应的引脚复用成IO
        	GpioCtrlRegs.GPADIR.all = 0xFFFFFFFF;    // 对应的引脚用作输出
        	GpioCtrlRegs.GPBDIR.all = 0xFFFFFFFF;   // 对应的引脚用作输出
        	GpioCtrlRegs.GPCDIR.all = 0xFFFFFFFF;   // 对应的引脚用作输出
       	GpioDataRegs.GPBDAT.all    =0x30000000;  // 设置对应引脚的高低电平
       	GpioDataRegs.GPCDAT.all    =0x00000007;  // 设置对应引脚的高低电平
        	EDIS;
    }    
    
    展开全文
  • 在了解如何处理DSP硬件中断的基础上,编写 DSP的工作频率设定程序,并完成定时器初始化后,再启动定时器并允许中断,最终在数码管上的最右边一位显示0-9秒的数字
  • 因为项目中某一个芯片时钟和使能信号对同步有非常严格要求。故而采用PWM定时器来解决。 项目参数:F2812,主频100M,外设频率50M。 1. 定时器计数是从0开始计数...同时注意,在启动定时器之前,不能将两定时器控...
    文/蒹葭 zhang.zhilong#gmail.com
    因为项目中某一个芯片时钟和使能信号对同步有非常严格要求。故而采用PWM定时器来解决。
    项目参数:F2812,主频100M,外设频率50M。
    1. 定时器计数是从0开始计数的。所以要计10个数,则周期寄存器应设为0x09,而不是0x0A
    2. 定时器2控制寄存器的T2SWT1位置一。同时注意,在启动定时器之前,不能将两定时器控制寄存器使能位置1否则不能同步。
    3. PWM电平变化,由定时器比较寄存器的数值决定,例如:比较寄存器设为0x05,则表示计数器数值到5(从0开始计数),电平跃变,而不是第五个。
    4. 通过将定时器2的SELT1PR位置位与否,来决定定时器2使用定时器1的周期,还是使用自己的周期。
    5. 设定计数初始值和周期,控制寄存器之后,使能定时器1.此时,定时器2也同步启动。
    相关代码如下:
    EvaRegs.T1PR = 0x0009; // Timer1 period
    EvaRegs.T1CMPR = 0x0005; // Timer1 compare
    EvaRegs.T1CNT = 0x0000; // Timer1 counter
    // Initalize EVA Timer2
    EvaRegs.T2PR = 0xCD1D; // Timer2 period
    EvaRegs.T2CMPR = 0x000A; // Timer2 compare
    EvaRegs.T2CNT = 0x0000; // Timer2 counter
    EvaRegs.GPTCONA.bit.TCMPOE = 1;
    EvaRegs.GPTCONA.bit.T1PIN = 1;
    EvaRegs.GPTCONA.bit.T2PIN = 1;
    EvaRegs.T2CON.all = 0x1082; //bit0使用自己的周期bit7--使用T1CON的使能位,同步
    EvaRegs.T1CON.all = 0x1002;
    EvaRegs.T1CON.bit.TENABLE=1; //T1此时使能,则打到同步,如在前面步骤已使能,则不能同步
    展开全文
  • #include TIMER_Handle hTimer0; TIMER_Config TimerConfig = { TIMER_CTL_RMK ( TIMER_CTL_SPND_EMUSTOP, ... TIMER_CTL_CLKSRC_CPUOVR8, //定时器的频率是CPU频率的1/8 TIMER_CTL_CP_PULSE,
    #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);				//打印程序运行时间
    }
    展开全文
  • DSP6747定时器

    2014-06-17 21:11:48
    DSP6747定时器
  • dsp5402定时器

    2013-03-06 10:17:33
    dsp5402定时器的程序,时间可控,已经通过测试
  • 本资源主要对DSP初学者有一定帮助,本源码包括3个部分,主程序部分、链接命令文件和中断向量表文件,并附有详细的代码...代码清晰简单,能让刚入门DSP的朋友熟悉CCS开发环境的C语言编写流程和掌握对DSP定时器中断的使用.
  • DSP6713定时器.rar

    2016-07-30 20:13:46
    DSP6713定时器.rar
  • DSP28335定时器程序

    2014-06-11 09:58:50
    应用于DSP28335的定时器0的定时器程序
  • dsp2812定时器程序2

    2010-09-05 11:22:02
    dsp2812定时器程序,dsp2812定时器程序
  • DSP28335定时器

    2020-02-22 20:35:57
    定时器作用:定时器就是用来准确控制时间的工具,精确的控制时间,以满足控制某些特定事件的要求。例如:在电机控制中,要求为在系统启动5S后加载负载,这时候就能够利用定时器来精确控制。在F28335中,有3个32位的...
    1. 定时器作用时器就是用来准确控制时间的工具,精确的控制时间,以满足控制某些特定事件的要求。例如:在电机控制中,要求为在系统启动5S后加载负载,这时候就能够利用定时器来精确控制。在F28335中,有3个32位的定时器,分别是Timer0、Timer1、Timer2。其中,Timer1、Timer2被系统保留,用于实时操作系统,如果不用于实时操作系统,用户也可以使用这两个定时器**

    2. 定时器工作原理图
      CPU定时器的内部结构如下图所示:
      在这里插入图片描述
      从上图可以看出,在定时器中有以下几个寄存器:32位的定时器周期寄存器PRDH:PRD;32位计数器寄存器TIMH:TIM;16位的定时器分频器寄存器TDDRH:TDDR;16位的预定标计数器寄存器PSCH:PSC。定时器的工作示意图如下:
      在这里插入图片描述

    3. 定时器工作流程
      在定时器中,最主要的功能就是定时,那么就像我们设置闹钟一样,先要给个目标值,也就是我们的周期值,计算好这个值后(后续会提到)赋给周期寄存器PRDH:PRD,当启动定时器开始计数时,周期寄存器PRDH:PRD的值会装载到定时器计数寄存器TIMH:TIM。当定时器计数寄存器TIMH:TIM不断减1到0时,这个时候到了我们所设定的时间,产生一个中断信号。那么问题来了,定时器计数寄存器TIMH:TIM多长时间减一次1呢,这个就又TIMCLK来控制了,根据上图所示,每来一个TIMCLK,定时器计数寄存器就会减1,那么TIMCLK又是如何产生的呢?根据上图可以看出是由定时器分频器TDDRH:TDDR和定时器预定标PSCH:PSC来控制。先给定时器分频器TDDRH:TDDR赋值,然后装载到预定标PSCH:PSC中,每经过一个系统时钟信号,PSCH:PSC就会自动减1,当减到0时候就会产生一个TIMCLK。

    4. 时间计算
      如果系统时钟使用的是X(MHZ)则:
      ***TIMCLK = (TDDRH:TDDR+1)*10^-6/ X(这里的单位是秒,为什么分子需要加1呢,因为需要减到0,所以需要加1)
      定时器一个周期所需要的时间:
      T=(PRDH:PRD+1) *TIMCLK(S)
      关于定时器的配置问题,请查阅我博客中的中断相关文章

    展开全文
  • dsp2812定时器程序

    2010-09-05 11:21:24
    dsp2812定时器程序;很不错,可以借鉴
  • DSP2407定时器例程

    2011-04-06 14:36:34
    DSP2407定时器例程,详细的一个PROJECT,可以直接用
  • 5509A_DSP通用定时器

    2013-04-17 20:59:25
    详细介绍了 5509A_DSP通用定时器的使用
  • DSP实验四(DSP定时器

    千次阅读 2017-05-08 21:15:28
    DSP实验四(DSP定时器) -w -stack 500 -sysstack 500 -l rts55x.lib MEMORY { DARAM: o=0x100, l=0x07f00 VECT : o=0x0d000, l=0x100 DARAM2: o=0x0d100, l=0x1f00 SARAM: o=0x10000, l=0x30000
  • TI DSP 5502定时器使用

    2019-09-16 17:12:05
    TMS320VC5502有3个64-位可编程的定时器,其中2个用作通用定时器(TIM0 和 TIM1),第三个定时器可以配置为通用定时器或看门狗定时器,其功能取决于看门狗全局定时控制寄存器1(WDTGCTL1)中的TIMMODE位以及看门狗...
  • dsp内部定时器 0跑马灯实验,经过测试,很好用
  • dsp定时器的应用

    2010-01-13 10:16:55
    采用计算定时器周期寄存器值的方法设置TMS320c6713定时器以精确控制数模转换的频率或模数转换的采样频率。
  • 1.通过实验熟悉F28335A的定时器; 2.掌握F28335A定时器的控制方法; 3.掌握F28335A的中断结构和对中断的处理流程; 4.学会C语言中断程序设计,以及运用中断程序控制程序流程。
  • DSP F28335 定时器

    千次阅读 2019-01-09 14:30:36
    定时器2预留给DSP的实时操作系统BIOS。但是如果没有使用实时操作系统,那么定时器0、定时器1、定时器2都可以被用户使用。定时器的功能如下图: 定时器有一个预分频模块和一个定时/计数模块,其中预分频模块包括一...
  • DSP5416定时器功能实现

    2010-07-09 10:31:59
    *摘 要:本文件内容为TMS320UC5402 DSP 寄存器定义头文件 * 寄存器都以指针方式进行寻址 * *当前版本:1.0 *作 者:王飞 *完成日期:2005年2月17日 * *取代版本: *原作者 : *完成日期: **************...
  • DSP2812之定时器

    千次阅读 2018-10-21 10:16:47
    DSP TMS320F2812芯片内部有3个32位的CPU定时器-Timer0、Timer1、Timer2,其中CPU定时器1,2被系统保留,定时器0供用户使用。 定时器工作原理说明 CPU定时器的工作原理如下图所示 所包含的寄存器主要有预定标...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 583
精华内容 233
关键字:

dsp定时器