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

stm32f042f4p6定时器外部脉冲计数,调了三天了不能计数啊,hal库

[复制链接]
行者束己 提问时间:2016-6-13 12:03 /



void MX_TIM2_Init(void)
{
   TIM_SlaveConfigTypeDef sSlaveConfig;
   TIM_MasterConfigTypeDef sMasterConfig;
TIM_ClockConfigTypeDef sClockSourceConfig;
   htim2.Instance = TIM2;
   htim2.Init.Prescaler = 0;
   htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
   htim2.Init.Period = 0xFFFF;
   htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
   if (HAL_TIM_Base_Init(&htim2) != HAL_OK)
   {
     Error_Handler();
   }
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_ETRMODE2;
   sClockSourceConfig.ClockPolarity = TIM_ETRPOLARITY_NONINVERTED;//TIM_ETRPOLARITY_NONINVERTED
sClockSourceConfig.ClockPrescaler = TIM_ETRPRESCALER_DIV1;
sClockSourceConfig.ClockFilter = 0x0;
   if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)
   {
     Error_Handler();
   }





这是我定时器的配置方式,单片机是stm32f042f4p6,用的cubemx的HAl库,口线接的是PA0,TIM2的ETR口,
虽然用hal库我配置的相关寄存器都去看了一遍了,最终配进去的寄存器值跟标准库相同计数应用的方式是一样的,我不知道我这个问题出在哪里,还是我模式选错了。
我TIM_CLOCKSOURCE_ETRMODE2,TIM_CLOCKSOURCE_ETRMODE1,TIM_SLAVEMODE_TRIGGER模式都试过了,不行

时钟启动和输入io口配置是在上面的HAL_TIM_Base_Init(&htim2)完成的,这个应该没问题

收藏 评论1 发布时间:2016-6-13 12:03

举报

1个回答
行者束己 回答时间:2016-6-13 14:09:50
自己顶,求助求助

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版