
关于ASM330LHH TR调试中的问题
STM32会存在单个IO口坏掉的情况吗?
STM32的DCode bus是连接到bus matrix的吗?参考手册描述和图片是不符吗?
stm32ide怎么正确的导出项目
STM32F105RBT6 2025年 ROSH REACH 报告
STM32CubeMX 使用"FW_F1 V1.8.6"生成FreeRTOS代码缺少"freertos_mpool.h"?
你好,我的setting里面设置都没有问题。但是显示failed download cortexm3
STM32F103C8出現找不到'STM32100B_EVAL/stm32100b_eval.h' file not found
stm32f407无法配置定时器2为全部dma
STM32F103TBU6 封装是VFQFPN36 将PD0和PD1配置成CAN不成功是什么原因
触控IC并没有对双键按下的协议有过描述,但是触控端有一个宏定义是对多键是否可以同时按下的一个宏,这个宏用来判断触控端是否支持多个按键同时。只是说触控端长按只要对应都能发出持续的电平就认为时可以的,我用示波器测过两个按键按下不松开,每一路脉冲都有协议的起始脉冲和结束脉冲,如果长按按键不松开,一直不会触发1ms的结束脉冲,只有当松开按键的时候,才会出现结束脉冲.双键与单键长按的区别并不在触控,而在STM32F103主控端的标志位,如果一个标志位表示热水键,那么按下后延时10s热水长按标志位置1,冷水按键长按10s,冷水按键的长按标志位置1.双键长按,热水按键+冷水按键同时长按就触发了双键长按的标志位。触控端只需要判断按键按下,结束的1ms脉冲始终都不执行,只有当松开按键,结束的1ms脉冲才执行就可以了,就把这个1ms脉冲看成是触控端的结束标志位。所以问题觉得不在触控
比如1个按键发出这个协议的长度是28ms,那么做法不应该是当有2个按键按下了,会有两路脉冲输出,持续10s,10s后认为是双键长按。协议发过来,就和上面的图一样,但是会有一个结束的脉冲,比如说这个结束的脉冲是1个ms,如果我一直按下这个按键,那么这个1ms的结束脉冲在示波器上始终不会出现,只有当我松开按键的时候,这个结束脉冲出现了,那么这是单个按键长按的触发。那么双键长按我也是用两个长按的标志位,然后分别计时10s,当这两个标志位同时为1时才进入,但是这两个双键的10s定时器一直没计时。合泰触控BS83B08C支持双键长按
我已经用示波器配合代码把自定义的协议对比,协议的解码现在都已经解到了,但是两个按键的长按还是不行,执行的却是其中的一个按键长按的效果。3个按键:COLD_LEY:0XAA HOT_KEY:0XBB CHILD_KEY:0XCC 现在我要同时长按COLD_KEY和HOT_KEY,同时长按10s,执行到的效果却是HOT_KEY或者是COLD_KEY长按10s的效果
评分
查看全部评分
评分
查看全部评分
这种组合按键首先要确定触控单片机是否支持 如果只支持单个按键触发的话 再怎么修改也做不了组合按键 只有自己做了
单个按键和组合按键的处理方式不一样的 单个按键只要判断边沿或者电平就可以 组合按键的需要同时判断这两个按键的状态
首先已经确定触控的单片机可以支持多建同时按,而且用示波器看波形确实可以同时两路脉冲按下不松开一直有效,直到松开按键电平才结束。然后STM32主控端我也是用当两个按键都有效时,用另一个标志位计时10s然后置1,却始终达不到效果
触控单片机返回的信号是脉冲信号 还是协议数据
是协议数据,我已经分析过这个协议,有3个按键COLD_KEY:0XCC(25ms),HOT_KEY:0xBB(27ms),CHILD_KEY:0XAA(25ms)
波形类似于这种,我已经把这种波形进行分析,看下面的波形,一个尖波表示0,一个横平表示1.就得出主控端的码值是1010 1010(0XCC) => COLD_KEY
CHILD_KEY è§£ç èå²
确定是支持同时按键的吗 如果支持的话 组合键按下会传过来另一个协议 比如0xdd这样的 那处理方式和单个按键一样的处理方式
如果不支持同时按键的话 好像无解的
要不从协议判断 50ms以内收到两种协议 可以判断是组合按键 仅供参考
版主,现在触控这边的问题解决了,现在在STM32F103主控端有这么一个问题,就是单个按键有长按和短按的功能,长按和短按的功能各不相同,短按的时间不会超过3s,长按的时间需要10s,那么我现在是长按的时候会打开短按的功能,现在不想这样做,也就是说长按的时候不会触发短按,求版主能给一个方法指导吗?
这个应该是在中断程序里加上对时间的检测,就可以区分短按或者长按。