C#发送16进制串口数据

⼀个困扰两天的问题:
需要通过串⼝向设备发送的数据:0A010 7e 08 00 11 00 00 7e 76 7f
我先将每个16进制字符转换成10进制,再将其转换成ASCII码对应的字符。
///<summary>
/// 16进制数组转ASCII字符串
///</summary>
///<param name="strArrHex"></param>
///<returns></returns>
publicstaticstring ConvertHexArrToString(string strHex)
        {
            StringBuilder sb = new StringBuilder();
string[] strArrHex = strHex.Split('');
foreach (string item in strArrHex)
            {
//将⼗六进制转换成10进制
int ten = Convert.ToInt32(item, 16);
char cc = (char)ten;
                sb.Append(cc);
            }
string s = sb.ToString();
return s;
        }
--------------------------------------------------------

View Code
这个没有问题,但是7e 08 00 22 00 01 01 74 f4 7f就有问题了
通过Wireshark抓包发现,只要包含a开头的⼗六进制数都变成了3

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
C是一种编程语言,是由AT&T贝尔实验室的Dennis Ritchie于1972年设计开发的。它的目的是用于系统编程,特别是用于操作系统和其他系统软件的编写。C语言在当时还没有太多的竞争者,并且拥有非常好的可移植性。正因为这些特性,C语言很快就成为了一种非常流行的编程语言,不仅被用于系统编程,在其他领域如科学计算和WEB开发中也非常常见。 C语言的语法结构清晰简洁,易于学习和使用,尤其是对于那些对底层编程有基础的程序员来说。后来出现的C++语言基本上是在C的基础上增加了一些面向对象的特性,使得C++成为了一种通用的高级编程语言。当然,因为C语言受到了像Linux、Apache和MySQL等重要开源项目的广泛采用,一直到今天它依然是程序员必须要学习的内容之一。 C语言的一个主要特点就是它能够直接访问计算机系统的底层硬件,这意味着程序员可以利用C语言编写高效的系统级应用程序,比如操作系统和数据库管理系统。C语言还可以通过内联汇编实现对CPU的底层控制,这种能力使得C语言编写的应用程序能够极大地提高性能和效率。 总之,C语言是一种非常基础的计算机编程语言,对于那些想要深入了解计算机硬件和底层实现的程序员来说是必修课。尽管人们已经在数十年前使用C语言,但是这种语言的基本概念和特性依然在现代编程中仍然很重要。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值