找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

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

[复制链接]
跳转到指定楼层
楼主
lujiancnc 发表于 2017-11-6 14:42:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
     现在在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);
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具 举报

沙发
jamesliu 发表于 2017-12-28 11:33:26 | 只看该作者
是否是你的多功能引脚配置哪里冲突了,还有PB2_PWM1BK1和PB2_T2EX需要清0的
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU