打印
[STM32F1]

stm32f103的输入捕获溢出次数计数为何不准确

[复制链接]
561|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cheesecake|  楼主 | 2022-4-30 21:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
        if (htim->Instance == htim3.Instance)
        {
                overload_Cnt++;
        }
        else overload_Cnt=0;
}


void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
       
        if (htim->Instance == htim3.Instance)
        {
                switch(capture_Cnt)
                        {
                        case 0:
                                capture_Buf[0] = HAL_TIM_ReadCapturedValue(&htim3,TIM_CHANNEL_1);                                                //Get capture value now
                                __HAL_TIM_SET_CAPTUREPOLARITY(&htim3,TIM_CHANNEL_1,TIM_ICPOLARITY_RISING);        //Set to falling edge capture
                                capture_Cnt++;break;
                        case 1:
                                capture_Buf[1] = HAL_TIM_ReadCapturedValue(&htim3,TIM_CHANNEL_1);                                                //Get capture value now
                                HAL_TIM_IC_Stop_IT(&htim3,TIM_CHANNEL_1);                         //Stop input capture    OR: __HAL_TIM_DISABLE(&htim5);
                                Period = capture_Buf[1] - capture_Buf[0] + overload_Cnt * 0xFFFF;   
                               
                                capture_Cnt = 0;  //Clear the flag
                                overload_Cnt = 0; //Clear the overload flag
                             printf ("CNT:%d\r\n",Period);                            


                       OLED_Clear();
                       process(Period);
                       
                                  HAL_Delay(1000);
                                __HAL_TIM_SET_CAPTUREPOLARITY(&htim3, TIM_CHANNEL_1, TIM_INPUTCHANNELPOLARITY_RISING);
                                HAL_TIM_IC_Start_IT(&htim3, TIM_CHANNEL_1);                        //Start input capture       OR: __HAL_TIM_ENABLE(&htim5);
                                break;        }

使用特权

评论回复
沙发
zchong| | 2022-5-1 08:28 | 只看该作者
现在都是专业语言对话了吗?

使用特权

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

本版积分规则

4

主题

4

帖子

0

粉丝