专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
4.3寸电容屏触摸太灵敏的问题!!!
2019-10-11 13:47
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
7867
7
1081
做一个多级菜单的界面,但是由于电容触摸屏不知道什么原因,我按了一下触摸屏,进入下级菜单,然后下级菜单的这个位置的按钮也启动了。。。这个要怎么处理,,,急急急!就算延时也没有用啊!
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
likunxue
2019-10-12 04:05
本帖最后由 likunxue 于 2017-3-22 21:24 编辑
ken233333 发表于 2017-3-22 20:50
如何检测是否放开呢?
做个软件计数器,多少时间内没有触摸,就发送弹起消息
如果资源不紧张,用一个定时器设置为单脉冲摸式,当有触摸发生时,检测是否是有效触摸,如果是,给定时器的计数器付一个初值,并开启计时器,在这段时间内如果手没有离开触屏,会产生重复触摸检测,每次都给定时器重置计数初值,这样,如果要触摸的时间不大于弹起的时间,定时器就不会产生中断,当没有触摸的时间大于定时器的计数值后,定时器产生中断,发送弹起消息,自动关闭定时器,
当然如果是多任务,可以开启一个任务来单独处理触摸屏事件,用消息机制的方式处理触摸的按下,弹起,长按,点按,及向下或向下滑动等!
/********************************************************************************************
函 数 名: 根据初点与终点反回滑动方向
调 用: CTP_HUADONGSHIBIE(void)
参 数: 在全局数据结构体中
反 回 值: 0示滑动,1向上,2向下,3向左,4向右
********************************************************************************************/
char CTP_HUADONGSHIBIE(void)
{
if(CTP.JiShuQi >= 2 )
{
int dy = CTP.my - CTP.By; //计算坐标变化值
int dx = CTP.Bx - CTP.mx;
if((CD_abs(dx) > 10)||(CD_abs(dy) > 10))
{ //做滑动方向识别
float fa = atan2(dy,dx)*57.29578f;//得到角度
if(fa >= -45 && fa < 45)return CHUMOXIAOXI_YOU; //向右
if(fa >= 45 && fa < 135)return CHUMOXIAOXI_SHANG; //向上
if(fa >= -135 && fa < -45)return CHUMOXIAOXI_XIA ; //向下
if((fa >= 135 && fa <= 180)||(fa >= -180 && fa < -135))return CHUMOXIAOXI_ZUO; //向左
}
}
return 0;
}
加载中...
查看其它7个回答
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
做个软件计数器,多少时间内没有触摸,就发送弹起消息
如果资源不紧张,用一个定时器设置为单脉冲摸式,当有触摸发生时,检测是否是有效触摸,如果是,给定时器的计数器付一个初值,并开启计时器,在这段时间内如果手没有离开触屏,会产生重复触摸检测,每次都给定时器重置计数初值,这样,如果要触摸的时间不大于弹起的时间,定时器就不会产生中断,当没有触摸的时间大于定时器的计数值后,定时器产生中断,发送弹起消息,自动关闭定时器,
当然如果是多任务,可以开启一个任务来单独处理触摸屏事件,用消息机制的方式处理触摸的按下,弹起,长按,点按,及向下或向下滑动等!
/********************************************************************************************
函 数 名: 根据初点与终点反回滑动方向
调 用: CTP_HUADONGSHIBIE(void)
参 数: 在全局数据结构体中
反 回 值: 0示滑动,1向上,2向下,3向左,4向右
********************************************************************************************/
char CTP_HUADONGSHIBIE(void)
{
if(CTP.JiShuQi >= 2 )
{
int dy = CTP.my - CTP.By; //计算坐标变化值
int dx = CTP.Bx - CTP.mx;
if((CD_abs(dx) > 10)||(CD_abs(dy) > 10))
{ //做滑动方向识别
float fa = atan2(dy,dx)*57.29578f;//得到角度
if(fa >= -45 && fa < 45)return CHUMOXIAOXI_YOU; //向右
if(fa >= 45 && fa < 135)return CHUMOXIAOXI_SHANG; //向上
if(fa >= -135 && fa < -45)return CHUMOXIAOXI_XIA ; //向下
if((fa >= 135 && fa <= 180)||(fa >= -180 && fa < -135))return CHUMOXIAOXI_ZUO; //向左
}
}
return 0;
}
一周热门 更多>