完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
我需要用串口发送一串数字给单片机,作为产品的SN,发送时命令必须是以十六进制发送才有效。我现在想请问我扫描的时候字符串控件选择正常显示,然后在程序框图怎么去实现变成同样的十六进制显示,比如我扫描枪扫二维码识别字符串为BC2109000023, 我怎么转换成同样的数字,但是要十六进制格式用串口发送?
|
|
相关推荐
6个回答
|
|
|
看你的输入代码,格式应该都是固定的,先把字母和数字拆分开,然后对数字进行16进制转换,最后把两个字符串合并就好了,代码如图
|
|
|
|
|
|
之前做的一个串口收发有用到这类功能。这种转换方法我也是网上搜的,如果你看不懂我发的你可以再尝试搜搜。
我来讲解一下,可能不太对 1.首先是接收模块 左边是接收到的十六进制显示类型的字符串 比如01020304 会显示成0102 0304 这样,我们需要把0102 0304 这样十六进制显示的字符串转换成01020304,所以要先用 字符串至字节数组 这个函数进入for循环 进循环的接线点用索引。然后用数值至十六进制字符串转换,因为字符串数量可能是1个或者2个,所以这里要弄一个条件选择,再用移位寄存器和连接字符串组合起来 就得到了正常显示的十六进制字符串。 2.然后是发送模块 左边那部分可以无视,从“正常显示数组”开始,数组也可以是单个字符串,这样的话就不需要外部那个for循环了,只需要里面那个for循环就行。 假如我们有一个要发送的字符串是01020304050607080900(正常显示),进入里面那个for循环时会2个数字2个数字一组进行转换,最后也是用移位寄存器连接。如果只是单个字符串发送的话里面这个条件判断框是不需要的,直接一条线连过去就行。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
直接发送就行了,例如‘’A‘’在ASCII里面就是0X41
|
|
|
|
|
|
你这字符不是代表二进制数,只代表CHAR类型
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
211 浏览 0 评论
请教大神,在labview里面对实时扫描资源中的C系列模块NI9234进行配置发生非预期错误
1709 浏览 0 评论
1585 浏览 0 评论
LABVIEW 2023 Q1调用python后一直报错1671
1960 浏览 2 评论
5207 浏览 3 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 05:35 , Processed in 0.850097 second(s), Total 86, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
7969