你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32用ETR采集外部脉冲个数出现二分频问题,请教哪里设置...

[复制链接]
培仁兵 提问时间:2017-3-20 16:30 /
本帖最后由 培仁兵 于 2017-3-20 16:32 编辑

void Timer3_Init_Config(void)
{
        GPIO_InitTypeDef  GPIO_InitStructure;
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;        
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;                  //设置IO模式为带上拉输入//2017.3.20改为下拉
        GPIO_Init(GPIOD, &GPIO_InitStructure);        
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);                //使能Timer3时钟
        TIM_DeInit(TIM3);
        TIM_TimeBaseStructure.TIM_Period = 65535;                                                //设置在下一个更新事件装入活动的自动重装载寄存器周期的值(计数到10为1ms)
        TIM_TimeBaseStructure.TIM_Prescaler = 0;                                        //设置用来作为TIMx时钟频率除数的预分频值(10KHz的计数频率)
        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;                //设置时钟分割:TDTS = TIM_CKD_DIV1
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;        //TIM向上计数模式
        TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);                                //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位
          TIM_ITRxExternalClockConfig(TIM3,TIM_TS_ETRF);
//        TIM_ETRClockMode2Config(TIM3, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 0);//TIM3 外部时钟源2不分频,高电平或上升沿有效
        TIM_ETRClockMode2Config(TIM3, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_Inverted, 0);//TIM3 外部时钟源2不分频,高电平或上升沿有效
        //TIM_ETRConfig(TIM3, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 0);//TIM3 外部时钟源2不分频,高电平或上升沿有效
        TIM_SetCounter(TIM3, 0);                            //设定TIM3计数寄存器值为零
        TIM_ITConfig(TIM3, TIM_IT_Trigger, ENABLE );                                 //使能TIM3指定的中断
        TIM_Cmd(TIM3, ENABLE);                                                                          //使能TIMx外设
}现在的问题是计量的脉冲个数比实际的少了一半,不知是哪里问题,请高手指点指点。

收藏 2 评论3 发布时间:2017-3-20 16:30

举报

3个回答
无薪税绵 回答时间:2017-4-20 09:41:33
会不会是时钟源2慢了一倍。
如果不行,只能把结果乘2了。
五哥1 回答时间:2017-4-20 17:13:25
用调试跟踪看看
cldym 回答时间:2017-4-20 19:30:38
时钟源2慢了一倍,需要更改

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版