c#上位机串口程序发送数据出错 20C

图片说明
麻烦帮忙看一下,最近在做一个上位机的程序,通过串口把数据发到下位机
8个字串,串口协议rs232,通过pl2303连接,可是发送0x11,下位机接受到的是0x77,
而且第一次发送总是先接到一个0x00,除了图片的方法,网上的很多方法都试过,
可是搞不明白错在哪,下位机程序测试后没问题,也不是波特率的问题,请高人指点
感激不尽。

2个回答

这种情况往往是你的停止位、校验方式、校验位设置不匹配造成的。

把你的字符串拼接一下, 转成一个字符串 然后直接获取byte数组
var buf= Encoding.ASCII.GetBytes(s);
注意编码方式·这个是ansi的,我不确定你的下位机能解这个码,你得换成你的下位机支持的码
还有这样传string很麻烦··最好直接传值类型,
还有一个问题如果下位机的byte和C#的byte不一样可能也解的不对··

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!