项目场景:
电容式触摸按键实现水位检测
问题描述
接上一条,一共有三个按键,当水漫过按键时,容值发生变化,按键值变小,根据按键值和提前设定的门限值对水位进行判断,串口对应分别打印a,b,c
来表示当前的水位状态,但是打印速度太快,效果不好。
switch(WaterFlag)
{
case 1: TK_Debug_UartPutChar('a');
break;
case 2: TK_Debug_UartPutChar('b');
break;
case 3: TK_Debug_UartPutChar('c');
break;
}
解决方案:
原因暂未找到,试图寻找另外的思路,即引入一个变量buf
存储水位的标志位来进行判断,当表示水位的标志位发生变化时,串口才进行打印,代码如下:
if(buf!=WaterFlag){
// Delay_ms(60);
switch(WaterFlag)
{
case 1: TK_Debug_UartPutChar('a');
break;
case 2: TK_Debug_UartPutChar('b');
break;
case 3: TK_Debug_UartPutChar('c');
break;
}
buf=WaterFlag;
}