完善资料让更多小伙伴认识你,还能领取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类型
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
569 浏览 1 评论
NI Vision有个图片打不开其他图都能打开(用NI Vision Assistant也打开不了)
1029 浏览 1 评论
labview2015使用Excel报表程序打包生成后打开程序要选一个vi才能使用,否则软件就会报错,这是什么问题?
1605 浏览 2 评论
LabVIEW与单片机无法串口通信 提示串口打开错误 端口设置有问题吗?
1543 浏览 3 评论
1819 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 07:26 , Processed in 0.569844 second(s), Total 51, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号