关于游戏手柄程序有个地方不懂,请帮忙解释下。

2019-10-11 14:44发布

为什么在if里面,有个temp|=0x80这样一个语句,看不懂。当每次按键按下的时候,JOYPAD_DAT==0不是总是成立的嘛。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
七年磨一剑
1楼-- · 2019-10-12 10:07
xuande 发表于 2016-8-10 17:24
就是做记号。

我举个例子把,假如第2位对应的按键按下了,那么程序刚进入循环,可以得到temp=0,不论temp向右移动多少次,还是为0,当第2次对应的JOYPAD_DAT==0成立时,却要进行temp|=0x80运算,实在不明白。:'
xuande
2楼-- · 2019-10-12 13:57

做记号以后,temp就不是全0了。


xuande
3楼-- · 2019-10-12 15:48

这个1会继续右移,保持下去,最后返回。
七年磨一剑
4楼-- · 2019-10-12 20:56
xuande 发表于 2016-8-10 17:42
做记号以后,temp就不是全0了。

那对应的第一个键没按下,那必须temp是0啊,程序不是非得把第一个键按下才行,一进for循环就判断,有些晕。版主啊,我实在是不会了
七年磨一剑
5楼-- · 2019-10-13 00:45
 精彩回答 2  元偷偷看……
七年磨一剑
6楼-- · 2019-10-13 04:27
正点原子 发表于 2016-8-10 16:49
这是手柄,里面有时序逻辑电路。JOYPAD_DAT是读取数据线的数据。 是0,是1,由手柄里面的输出时序来决定。 ...

原子哥,每次循环时,都要判断JOYPAD_DAT的值啊,我咋觉得temp初始值为0,所以每次移位后还是0啊!这个问题纠结死我了。

一周热门 更多>