我试图通过蓝牙SPP配置文件将我的目标连接到移动设备。 蓝牙连接启动后,会发出创建rfcomm通道进行通信的请求。无法读取/ dev/rfcomm
output of
ls -all /dev/rfcomm0
crw-rw-rw- 1 root dialout 216, 0 Jan 1 00:02 /dev/rfcomm0
一旦创建RFCOMM设备,在我的代码,我打开该文件,并写入数据到它。
fd = open('/dev/rfcomm0', O_RDWR | O_NOCTTY | O_SYNC);
write(write(fd, &sendBuffer[0], sendBuffer.size())
写入成功。 如果我尝试通过rfcomm读取数据,则代码不会继续。
read(fd, recvbuf, recvbuflen)
由于读取无效,我尝试关闭文件描述符并再次打开它。
这次无法打开/ dev/rfcomm0。它返回-1。
请指导我缺乏的地方。
此外,我是新手,所以如果有任何使用C++的蓝牙SPP文件。
您是否正在尝试阅读刚写的内容?如果是这样,它不会那样工作。您只能读取远程设备在SPP连接末尾写入的内容。 – kaylum
@kaylum不,我不读相同的数据。从目标 - >移动我发送握手缓冲区 从移动应用程序 - >目标我发送坐标。 – Daemon