打印
[技术问答]

为啥想采用M0518的TM2引脚做外部脉冲输入计数,实现不了?

[复制链接]
650|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
classroom|  楼主 | 2024-7-18 09:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在在M0518基础上,准备把PB2引脚用作TM2功能,以实现对外部输入脉冲的计数。

     程序是根据例程改的,例程是默认TM0的。 但程序写好后,实测了一下,当PB2引脚外部输入脉冲后,发现TDR寄存器的值一直为0?



程序如下:


void COUNTER_ini(void)
{
////////////////////////////////////////////////////
    CLK_EnableModuleClock(TMR2_MODULE);
    CLK_SetModuleClock(TMR2_MODULE, CLK_CLKSEL1_TMR2_S_HCLK, 0);
    SYS->GPB_MFP |=SYS_GPB_MFP_PB2_TM2;
    SYS->ALT_MFP2 |=SYS_ALT_MFP2_PB2_TM2;
       
    /* Configure Timer2 settings and for event counter application */
    TIMER_Open(TIMER2, TIMER_CONTINUOUS_MODE, 1);
    TIMER_SET_PRESCALE_VALUE(TIMER2, 0);
    TIMER_SET_CMP_VALUE(TIMER2,3);
    TIMER_EnableEventCounter(TIMER2, TIMER_COUNTER_FALLING_EDGE);


   TIMER_Start(TIMER2);

     while(TIMER_GetCounter(TIMER2) == 0);
}


void COUNTER_js(void)
{
   TMR2JSdata=TIMER_GetCounter(TIMER2);
}

使用特权

评论回复
沙发
狄克爱老虎油| | 2024-7-18 15:36 | 只看该作者
有例程的花直接改宏定义不就行了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

432

主题

2107

帖子

1

粉丝