我试图发送一个字符串从我的覆盆子皮到PC通过串口。
案例1:我的PC终端设置: BD 9600,无奇偶,8个数据库,1个停止位和Raspberry也配置为相同的设置,我的字符串被从Rpi传输到PC,没有任何问题。
案例2: My终端设置: BD 9600,偶数奇偶,8个数据库,1个停止位和Raspberry也配置为相同的设置和PC终端接收垃圾值。
案例3: My终端设置: BD 9600,无校验,8个数据库,1个停止位和Raspberry配置为BD 9600,偶数奇偶,8个数据库,1个停止位,我的字符串从Rpi传输到PC,没有任何问题。
根据我的理解,在案例1和案例2中,字符串必须被传输,在第3种情况下,PC终端可能接收垃圾值。
我正在使用下面的示例串行UART样本。
这是已知的问题还是我遗漏了什么。请指点。
谢谢
发布于 2019-12-10 19:42:45
您可以尝试找出C#库(或底层dll)或(USB-)设备驱动程序(例如CH340)中是否存在问题。
使用MODE命令检查端口:
C:>mode COM3
Status for device COM3:
-----------------------
Baud: 9600
Parity: None
Data Bits: 7
Stop Bits: 1
Timeout: OFF
XON/XOFF: OFF
CTS handshaking: OFF
DSR handshaking: OFF
DSR sensitivity: OFF
DTR circuit: ON
RTS circuit: ON使用MODE命令配置端口,如果可以手动设置奇偶校验,请尝试:
C:>help mode
Configures system devices.
Serial port: MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s]
[to=on|off] [xon=on|off] [odsr=on|off]
[octs=on|off] [dtr=on|off|hs]
[rts=on|off|hs|tg] [idsr=on|off]
...C:\>mode COM3 PARITY=E DATA=8
Status for device COM3:
----------------------
Baud: 9600
Parity: Even
Data Bits: 8
Stop Bits: 1
Timeout: OFF
XON/XOFF: OFF
CTS handshaking: OFF
DSR handshaking: OFF
DSR sensitivity: OFF
DTR circuit: ON
RTS circuit: ON注意事项:有两个参数(、dcb.Parity、和dcb.fParity)控制奇偶校验设置,这两个参数都必须设置。
https://stackoverflow.com/questions/45894956
复制相似问题