This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320C5505:c5505-timer1-configuration μ A

Guru**** 2546020 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/617726/tms320c5505-c5505-timer1-configuration

器件型号:TMS320C5505

尊敬的所有人:

我有一个 TMS320C5505-eZdsp、现在 μ Timer0工作正常、我 只需修改 hGpt = GPT_open (gpt_0、&gptObj、&status);-至->hGpt = gpt_open (gpt_1、&gptObj、&status);。 但 Timer1 or timer2不起作用。 我还需要设置什么?

 此致

Yudong

 

int Timer0Init (void)
{
CSL_Status status;
CSL_Config hwconfig;
CSL_GptObj gptObj1;
CSL_Handle hGpt1;


//打开 CSL GPT 模块*/
hGpt1 = GPT_open (gpt_4、&gptObj1、status);//  









禁用 GPT (1)/GPT (0);GPT 0 = GPT 0 1//---Just here,--to--/RETO_RELET (0);禁用 GPT (GPT)/ GPT (GPT = GPT) 0)/ GPT (0) 0 * 0 = GPT (0)/ GPT (0)/IGNOT_RETO_RET (0)




/*禁用所有中断*/
IRQ_disableAll();
/*初始化中断矢量表*/
IRQ_setVecs (UINT32)(&VECSTART);

IRQ_plug (tint_event、&Timer_ISR);
IRQ_enable (tint_event);


/* Timer interval 0.5sec (2Hz)*/ rgphw_clock/0x430_prt
hwConfig.autoLoad




= 0x409600/ rgpref_gpref/dc/rgpref/dc/dcprt = 0x4096409600/ r_dec/r/ rgpref/rgpref/rgpref/rgpref/dprt = 0x409640964096_r/ r/ r/ r&ngpref/dprt = 0x409600_r/ r/ r/ rgpref/dprt
//TIM1FLAG=1;
/*配置 Timer0 *//
/hGpt = gpt_open (gpt_2、&gptObj、&status);
status = gpt_config (hGpt1、&hwconfig);
IRQ_globalEnable();

//开始计时器*/
gppt_start (hGpt1);
return CSL_test_passed;
}






中断空 Timer_isr ()
{


无符号字符 TIAFR_VAL_0;


TIAFR_VAL = CSL_SYSCTRL_REGS->TIAFR;
IRQ_CLEAR (tint_VAL =





0x02);{= 0x0002+(= 0x0001+);TIAFR+= 0x000+(0x000+)= 0x000+(0x000+)= 0x000+)






 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我已通知软件团队。 他们的反馈将在此处发布。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Yudong、

    您使用的是哪个 C5000 CSL 版本?  这是 http://software-dl.ti.com/dsps/dsps_public_sw/dsps_swops_houston/C55X/latest/index_FDS.html

    我采用 了位于 C:\ti\c55_lp\c55_CSL_3.07\ccs_v6.x_examples\GPT\CSL_GPT_example 的示例、并对 GPT 实例进行了更改、结果正常(默认情况下、它配置为 timer0、我更改为 Timer1)。 下面是在 CCS 中启用 Timer1的寄存器的屏幕截图。

    那么、您是否为 C5505正确配置了 csl_general.h 宏?

    附件是包含我所做更改的文件。 也许您可以尝试一下。

    /cfs-file/__key/communityserver-discussions-components-files/791/4314.csl_5F00_gpt_5F00_example.c

    C:\ti\c55_lp\c55_CSL_3.07\ccs_v6.x_examples\gpt\CSL_GPTExamples\CSL_GPT_example.c

    希望这对您有所帮助。

    Lali

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用 GPIO22作为输出端口、当它低于15Hz 时、它运行良好、howerver 当我设置输出1kHz 时、它输出数据是错误的、我使用示波器。 我应该设置其他寄存器吗? 它只是输出方波。 高电平、然后是下一次低电平。 谢谢。


    GPIO_init()

    /*禁用 CPU 中断*/
    IRQ_globalDisable();

    /*初始化中断矢量表*/
    IRQ_setVecs ((uint32)(&VECSTART));

    /*打开 GPIO 模块*/
    hGpio_GP22 = GPIO_open (&GpioObj_GP22、STATUS);

    GPIO_RESET (hGpio_GP22);

    CONFIG.pinNum = CSL_GPIO_PIN22;
    CONFIG.DIRECTION = CSL_GPIO_DIR_OUTPUT;
    CONFIG.TRIGGER = CSL_GPIO_TRIG_CLEAR_EDGE;
    状态= GPIO_configBit (hGpio_GP22、&CONFIG);
    /*清除任何挂起的中断*/
    IRQ_CLEAR (GPIO_EVENT);
    IRQ_plug (GPIO_EVENT、&gpioISR);

    /*启用中断*/
    IRQ_ENABLE (GPIO_EVENT);
    IRQ_globalEnable();




    void gpt1Isr (void)


    fTimer_01++;
    if (fTimer_01%2 = 0)

    GPIO_WRITE (hGpio_GP22、CSL_GPIO_PIN22、1);

    其他

    GPIO_WRITE (hGpio_GP22、CSL_GPIO_PIN22、0);



    /*清除定时器中断聚合标志寄存器(TIAFR)*/
    CSL_SYSCTRL_REGS->TIAFR = 0x02;

    printf ("\r\nTimer1 ISR\r\n");
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yudong、

    您能否打开有关此问题的新主题? 它似乎与原始线程无关。
    此外、我之前的回答是否解决了 Timer1无法正常工作的问题? 为了使其正常工作、您进行了哪些更改?

    Lali
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的。   Timer1无法正常工作的问题已解决。 我使用您提供的代码并重新编译、可能是订单集错误。  谢谢。