通过实验,已确定不是延时过短的问题。
而且发现一个更过份的事:
把null定义成0x00时,那个不正常的键,按下去没松开就会检测到。可把null定义成0xff,那么,无论怎么按,这个键也检测不到。
到了这里,看起来似乎不是这个函数本身的问题了,似乎是调用函数的地方有计算错误,可问题是,仍然没能够在调用的地方发现问题。
严重郁闷。我找到原因后,会在这只公布。(这事感觉太怪了,不过还是相信,应该是我的程序什么地方考虑不够周到)
btw:那个不正常的键的键值是: (msb)1xx1 1110(lsb)
1xx1 1101
1xx1 1011
1xx1 0111
1xx0 1111
以上4个键,工作完全正常,而不管null的值是0x00还是0xff