测试2_触摸键测试
昨天对这个触摸按键测试了一下,结果又遇到了问题。
先说说我的思路,这次用到的元件是这个
虽然不太清楚这个元件的内部原理,但是大概的使用方法还是懂的,我觉得现在元件种类这么多,没必要个个都懂,会使用就行了,当然如果你能记几千几百个元件,那你也能称的上大牛了。
为了能更好的区分key0,key1,key2,key3,我写了一个函数让他们返回不同的数值。
程序是这样的:
vu16 readbit()
{
if( GPIO_ReadInputDataBit( GPIOB, GPIO_Pin_3))
{
return(1);
}
if( GPIO_ReadInputDataBit( GPIOB, GPIO_Pin_4))
{
return(2);
}
if( GPIO_ReadInputDataBit( GPIOC, GPIO_Pin_4))
{
return(3);
}
if( GPIO_ReadInputDataBit( GPIOC, GPIO_Pin_5))
{
return(4);
}
return(0);
}
{
if( GPIO_ReadInputDataBit( GPIOB, GPIO_Pin_3))
{
return(1);
}
if( GPIO_ReadInputDataBit( GPIOB, GPIO_Pin_4))
{
return(2);
}
if( GPIO_ReadInputDataBit( GPIOC, GPIO_Pin_4))
{
return(3);
}
if( GPIO_ReadInputDataBit( GPIOC, GPIO_Pin_5))
{
return(4);
}
return(0);
}
然后定义了一个变量 j 来接收这个数值,然后芯片就 j 的值做出反应。
显示函数:
void Display(vu8 k)
{
vu8 i;
for(i=4-k;i<4;i++)
{
LED1(0);//控制led3亮。
{
vu8 i;
for(i=4-k;i<4;i++)
{
LED1(0);//控制led3亮。
Delay2(5);
LED1(1);
Delay2(5);
}
}
LED1(1);
Delay2(5);
}
}
然后把程序下载板卡上得到效果
这个时候就有问题了,发现按键只能返回2、 3、 4,触摸的左键不能返回数值,改了一些地方,还是没有解决。不知道是个别问题还是共性问题!!
我的测试包地址:http://pan.baidu.com/s/1eRSvCfK
stm32f10x_lib.h是以前版本的头文件,如果编译出错,可以手动添加这个头文件,具体添加方法可以百度~