c++ builder 串口发送十六进制数

比如我打算发0x55,一个十六进制的55,但是串口的输入输出都是字符串的格式,发送55就是发送ASCLL码的55了,就是3535了,我该怎么转换下呢?比如想发送13971... 比如我打算发0x55,一个十六进制的55,但是串口的输入输出都是字符串的格式,发送55就是发送ASCLL码的55了,就是35 35了,我该怎么转换下呢?比如想发送139712就以十六进制13 97 12的形式发送。。 展开
 我来答
geniepengsz
推荐于2016-10-05 · TA获得超过2万个赞
知道大有可为答主
回答量:1.2万
采纳率:97%
帮助的人:2300万
展开全部
这个不需要特别的来转换,
你可以用“0X”前缀来标示十六进制数,
十进制不需要特别标示,
编译器在编译时会自动转换成十六进制来执行。
如果害怕自己混淆,
用“char”类型来定义字符(串),
编译时会自动对照ASCII码表进行转换为十六进制。
只是你在另一边的接收要考虑是否有转换的问题。
更多追问追答
追问
您的意思是以“0x55”的形式发?因为我都是以字符串的形式发的啊,这样那就直接发的是30 78 35 35了?还是不太理解,您能再说点儿吗
追答
假定你要发送的字串储存在变量Cbuffer[]里,
你可以这样操作:Cbuffer[0]=0x55,
这样只会送出一个Byte;
你也可以这样操作:Cbuffer[]=“0x55”,
这样会送出四个Byte;
以上只是一个示例,可以理解吧?
一个是数值操作,一个是字符操作。
迪凯特科技(北京)有限公司
2023-07-28 广告
RS232串行通讯的数据格式包括以下组成部分:1. 起始位:一位,用于表示数据的开始。2. 数据位:通常为8位,但也可以是7位或9位。3. 校验位:可以选择奇偶校验或无校验。4. 停止位:一位,用于表示数据的结束,也可以选择使用1.5个或2... 点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式