H7实验9 输入捕获实验 神奇的问题求解答啊!!

2019-07-20 07:20发布

1.jpg
在CUBEMX中对于定时器TIM5,勾选使用内部时钟源,生成的代码中有如下标红 {MOD}的一段代码,致使H7的该捕获实验无法成功。但是屏蔽这段标红的实验正常,请问这是什么情况????非常不理解。按理说使用到TIM5时候就应该选择该定时器的时钟源啊?为什么配置了,多了这段代码反而串口打印不出来了呢?

//  if (HAL_TIM_Base_Init(&htim5) != HAL_OK)
//  {
//    _Error_Handler(__FILE__, __LINE__);
//  }


//  sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
//  if (HAL_TIM_ConfigClockSource(&htim5, &sClockSourceConfig) != HAL_OK)
//  {
//    _Error_Handler(__FILE__, __LINE__);
//  }




//定时器5通道1输入捕获配置
//arr:自动重装值(TIM2,TIM5是32位的!!)
//psc:时钟预分频数
void TIM5_CH1_Cap_Init(u32 arr,u16 psc)
{  
  TIM_ClockConfigTypeDef sClockSourceConfig;
        TIM_MasterConfigTypeDef sMasterConfig;
  TIM_IC_InitTypeDef sConfigIC;
       

  htim5.Instance = TIM5;
  htim5.Init.Prescaler = psc;
  htim5.Init.CounterMode = TIM_COUNTERMODE_UP;
  htim5.Init.Period = arr;
  htim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
  htim5.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;


//  if (HAL_TIM_Base_Init(&htim5) != HAL_OK)
//  {
//    _Error_Handler(__FILE__, __LINE__);
//  }


//  sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
//  if (HAL_TIM_ConfigClockSource(&htim5, &sClockSourceConfig) != HAL_OK)
//  {
//    _Error_Handler(__FILE__, __LINE__);
//  }

  if (HAL_TIM_IC_Init(&htim5) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
  if (HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

  sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
  sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;
  sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;
  sConfigIC.ICFilter = 0;
  if (HAL_TIM_IC_ConfigChannel(&htim5, &sConfigIC, TIM_CHANNEL_1) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

       
    HAL_TIM_IC_Start_IT(&htim5,TIM_CHANNEL_1);   //开始捕获TIM5的通道1
    __HAL_TIM_ENABLE_IT(&htim5,TIM_IT_UPDATE);   //使能更新中断
}




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
ndzhzsdw
1楼-- · 2019-07-21 08:47
正点原子 发表于 2018-7-9 01:41
对比,看寄存器差异。就知道了。

h7定时器捕获实验.zip (2.91 MB, 下载次数: 50) 2018-7-9 22:10 上传 点击文件名下载附件
去掉那个屏蔽的判断的语句串口就无法正常打印了

请原子哥或者其他朋友帮忙找下问题啊!给与电话费或者支付宝的心意报酬啊!!!
ndzhzsdw
2楼-- · 2019-07-21 08:51
 精彩回答 2  元偷偷看……

一周热门 更多>