本帖最后由 冰火英雄 于 2018-6-2 14:55 编辑
键盘的输入是扫描的,因为你的键盘的处理器不可能是104 个io端口(绝对104建无冲突),所以基本是利用程序扫描的,也就是通过扫描检测IO的电平,通常简单的键盘8个IO就能实现矩阵式4*4=16个按键,还有的程序可以3个IO实现2的3次方8个按键(需要硬件电路设计),而串口检测有个问题,就是干扰,所以在程序判断是高电平,还是低电平时,他有延时,这个延时通常非常短毫秒级(跟处理器的速度有关,比如用ARM32那就非常快)。
你这个ABBBBB与BAAAAA 或是ABABABABA 是首先程序内部的程序的问题(键盘内部的那个黑色的处理器的嵌入程序(俗称固件))。
你同时按下AB 按键,但是你不可能100%的同时,虽然直观感觉同时,但可能是毫秒级的差距。所以会出现A在前或B在前。
ABBBBBB或是BAAAAA
第一个可能为你的键盘提供了程序优化,不进行全盘扫描或是逆扫描,提高处理速度。或者是程序员在设计程序时自动过虑掉已经按下或进行扫描完成的按键。
第二个可能是程序漏洞,设计人员没有考虑这个问题,因为它不是键盘的设计时的一个考虑因素,是处理器执行程序时出现的一个随机结果。
能执行ABABABAB的程序是一直在做全盘按序扫描的完整循环。你说的键盘我没有 所以没法给你测试了……
我的键盘是随机的,我更倾向于处理器执行程序的随机结果…… |