我正在尝试组合两个被识别为单个游戏手柄/控制器的输入源。为此,我使用的是Arduino Leonardo,可以使用>>> filter(None, [''.join([c for c in s if c in '0123456789.']) for s in ipList])
['10.100.33.131', '10.100.33.132', '10.100.33.133', '10.100.33.134', '10.100.33.148', '10.100.33.149', '10.100.33.150']
库轻松转换为HID设备。作为输入,我使用(1)带有PS2x库的PS2控制器和(2)来自HC-05的蓝牙串行数据在主模式下工作。
我已经构建了一个单独的草图来读取和解析蓝牙数据,甚至设法通过Joystick.h
库将其转发到PC。
同时,为了使用PS2控制器,我使用相同的Arduino Leonardo将PS2连接到USB。但是,当我尝试将这两个草图组合起来(结合BT和PS2的两个输入)时,某些东西不起作用。
我发现用于从PS2控制器读取值的PS2_lib阻止Arduino读取BTSerial数据或反之亦然。
这是草图,当调用Joystick.h
时,没有任何作用。
ReadOneByte()
如果我注释掉while循环,PS2和游戏手柄就可以了。
完整的草图:
byte ReadOneByte() {
int ByteRead;
while(!BTSerial.available());
ByteRead = BTSerial.read();
return ByteRead;
}