电容触摸按键实验 问题

2019-07-20 07:00发布

资料1:本章,我们使用 PA5(TIM2_CH1)来检测 TPAD 是否有触摸,在每次检测之前,我们先配置 PA5 为推挽输出,将电容 Cs(或 Cs+Cx)放电,然后配置 PA5 为浮空输入,利用外部上拉电阻 给电容 Cs(Cs+Cx)充电,同时开启 TIM2_CH1 的输入捕获,检测上升沿,当检测到上升沿的时 候,就认为电容充电完成了,完成一次捕获检测。

问题1:这里的推挽输出和浮空输入怎么定的,这一块我完全没有头绪
资料2:
u16 TPAD_Get_Val(void)
{        
    TPAD_Reset();  
    while((TIM2->SR&0X02)==0)//等待捕获上升沿
        {  
            if(TIM2->CNT>TPAD_ARR_MAX_VAL-500)
                return TIM2->CNT;//超时了,直接返回 CNT 的值
        };  
    return TIM2->CCR1;  
}

问题2:if(TIM2->CNT>TPAD_ARR_MAX_VAL-500),500是哪里来的,超不超时怎么看

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。