【发布时间】:2014-10-02 00:45:41
【问题描述】:
我正在使用 ReadFile 读取一个空字符“0x00”,但它看不到它。
如果我向我的程序发送“0x01 0x02 0x00 0x03”。它将收到“0x01 0x02 0x03”。我知道我的发送方正在发送空字符(我使用范围来查看数据)。
我检查了 DCB 结构并将 fNull 设置为 false。 (这应该允许接收而不是丢弃空字节)
这是从 GetCommState 中显示的 DCB 的配置:
DCBlength 28
BaudRate 9600
fBinary 1
fParity 0
fOutxCtsFlow 0
fOutxDsrFlow 0
fDtrControl 0
fDsrSensitivity 0
fTXContinueOnXoff 0
fOutX 1
fInX 1
fErrorChar 0
fNull 0
fRtsControl 0
fAbortOnError 0
fDummy2 0
wReserved 0
XonLim 2048
XoffLim 512
ByteSize 7
Parity 0
StopBits 2
XonChar 0 '\0'
XoffChar 0 '\0'
ErrorChar 0 '\0'
EofChar 0 '\0'
EvtChar 0 '\0'
wReserved1 0
我是否在结构中遗漏了一些可能会阻塞空字符的内容?还是有可能是我需要更改的驱动程序配置或注册表配置?
【问题讨论】: