jjzjj

c++ - 串行通信 : 0x0D is replaced by 0x0A during transmission

我正在使用Linux从串行接口(interface)读取一些数据。数据流中有时会出现0x0D。在接收器端,该值被0x0A替换。这看起来像是一种期望的行为-不幸的是,在我的情况下它不是期望的,我认为它与打开端口期间设置的选项之一有关:structtermiosoptions;structserial_structsStruct;*fd=open(serialParams->port,O_RDWR|O_NOCTTY);//|O_NDELAY);if(*fd==-1)returnOAPC_ERROR_DEVICE;fcntl(*fd,F_SETFL,FNDELAY);tcgetattr(*f

linux - 通过蓝牙/RFCOMM/SPP 发送二进制数据将 0x0A 转换为 0x0D 0x0A

我有一个通过命令在Linux上运行的蓝牙RFCOMM服务:sdptooladd--channel1SPrfcommwatchhci01"$COMMAND"{}#^here$COMMAND将二进制数据写入作为参数传递的文件。我已经通过执行以下操作测试了它的行为是否正确:FIFO=$(tempfile)mkfifo"$FIFO""$COMMAND""$FIFO"&cat"$FIFO"|hexdump-C#但是,当通过SPP/RFCOMM发现(UUID00001101-0000-1000-8000-00805F9B34FB)连接到来自不同设备的服务时,我看到0x0A(LF)替换为0x0D0x
12