TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320C5505–定时器中断

尊敬的TI工程师,您好:

              我最近在学C5505,用的是官网的5505ezdsp开发板,在调试中断的时候一直调不通。

  (1)是否我的配置有问题。

  (2)vector.asm文件我添加到工程中,是不是添加的路径不对?

  (3)开发板自带的光盘里没有发现有定时器中断的程序,下边程序是我在其他地方找的,请问可否提供一下定时器0中断的例程。谢谢!

程序如下:

void Timer0Init()
{
CSL_Status status;
CSL_Config hwConfig;
CSL_GptObj gptObj;
/* Open the CSL GPT module */
hGpt = GPT_open (GPT_0, &gptObj, &status);
/* Reset the GPT module */
status = GPT_reset(hGpt);
/* Timer interval 0.5sec (2Hz)*/
hwConfig.autoLoad = GPT_AUTO_ENABLE;
hwConfig.ctrlTim = GPT_TIMER_ENABLE;
hwConfig.preScaleDiv = GPT_PRE_SC_DIV_11; // Pre scale Divide input clock by 4096
// 98.304M/4096 = 24K hwConfig.prdLow = 0x2E00; // 24K/12K = 2Hz (12K = 0x2EE0)
hwConfig.prdHigh = 0x0000;
/* Configure Timer0 */
status = GPT_config(hGpt, &hwConfig);
/* Start timer */
GPT_start(hGpt);}

/*
* Timer_isr( )
* Timer 0 interrupt service routine. This function is called
* whenever ther is a Timer interrupt.
*/
interrupt void tim_isr()
{
//USBSTK5505_LED_on(0);
/* Clear timer int flag */
CSL_CPU_REGS->IFR0 &= 0x0010; /* Clear timer0 int flag */
CSL_TIM_0_REGS->TIMINT = 0x0001;
/*Clear Timer0 bit in Timer Aggregate register */
CSL_SYSCTRL_REGS->TIAFR |= 0x0001 ; fTimer=1;
}

main()

{

Timer0Init();
while(1)
{
if (fTimer==1) USBSTK5505_LED_on(0); }

}

YUDONG WANG2:

回复 Shine:

已经调通了,配置不完整,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C5505–定时器中断
分享到: 更多 (0)