Arduino Leonardo上的Bluetooth Soft Serial和PS2控制器

时间:2017-07-05 18:51:26

标签: arduino arduino-ide software-serial ps2

我正在尝试组合两个被识别为单个游戏手柄/控制器的输入源。为此,我使用的是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;
}

0 个答案:

没有答案