向串口发送十六进制数据???

lang915 2009-07-23 01:49:18
郁闷我几天,在此请教各位大侠。
是这样的.
我是通过 GPS设备的232接口,接入我的设备,需向我的设备发送 AA 01 (十六进制)
初次测试失败。后来,我直接用GPS的232接入电脑的串口,用"串口调试工具"检测我发送的数据。收发都正常。
不解的是.我发送的是0xAA 而收到的却是 3F .比如发0x1F 收到的就是 1F.后来我多次测试,无伦我发 0xAA ,0xBB ,0xCC,等等。收到的全是3F,是不是我写法上有问题。或者说我要发送什么数据。收到的才是十六进制AA   或者AA 01




...全文
586 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lang915 2009-07-23
  • 打赏
  • 举报
回复
不是呀,我不是直接与串口通信。我是通过GPS的232控制串口设备。
没解决,总之还是谢谢你们
wdgphc 2009-07-23
  • 打赏
  • 举报
回复
string data=AA01;
int i = data.Length / 2;

byte[] w = new byte[i];
for (int j = 0; j < i; j++)
{
w[j] = Convert.ToByte(data.Substring(j * 2, 2), 16);
}
try
{
s1.Write(w, 0, w.Length); //s1是你的串口控件名
}
zzq1996 2009-07-23
  • 打赏
  • 举报
回复
无论你发什么,最终在串口上发下去和读上来的数据都是二进制数,转换即是十六进,你要确认你发下去的到底是什么

110,557

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧