首页 新闻 会员 周边 捐助

如何向串口写入数据?

0
[已解决问题] 解决于 2017-12-22 08:34

嗨,朋友们好

 

     现在遇到一个难题,就是如何向串口写入数据?

     如下图所示:

    当我点击启动按钮的时候,要向serialport1 写入一下数据:

    05H30H30H46H46H42H57H30H4DH30H

 

这个问题,我一直想了很久,确实不知该怎么写了。

朋友们会的,就进来聊聊,这个数据怎么通过serialport发送出去。

   

绿绿山水的主页 绿绿山水 | 菜鸟二级 | 园豆:248
提问于:2017-12-21 11:30
< >
分享
最佳答案
1

你每次都不给园豆,还好每次都遇到我。写个循环把“05H30H30H46H46H42H57H30H4DH30H”转换成byte[],然后直接Send就行了啊。就是每两个字符比如"05"+"H3"...把“05”转换成byte就是5吧,...

奖励园豆:5
数据酷软件 | 初学一级 |园豆:130 | 2017-12-21 13:09

Hex有4位的也有2位的,先搞清楚是几位先

数据酷软件 | 园豆:130 (初学一级) | 2017-12-21 13:11

今天感冒了,快冷死我了。

你直接把代码写出来吧,我参考下,我选你为最佳答案,就是5个园豆。下次多给你一些。

绿绿山水 | 园豆:248 (菜鸟二级) | 2017-12-21 15:39

@数据酷软件: 全部都是2位2位的发送,比如05H  比如30H   ,这些数据全部得发给串口。

绿绿山水 | 园豆:248 (菜鸟二级) | 2017-12-21 15:40

@绿绿山水: 

string[] hexData = "05H30H30H46H46H42H57H30H4DH30H".Split("H".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            byte[] buffer = new byte[hexData.Length];
            for (int i = 0; i < buffer.Length; i++)
            {
                buffer[i] = Convert.ToByte(hexData[i]);
            }

数据酷软件 | 园豆:130 (初学一级) | 2017-12-21 15:47

H是Hex的意思,在这里是个分隔符。

数据酷软件 | 园豆:130 (初学一级) | 2017-12-21 15:48

@数据酷软件: 好的,谢谢你。现在发高烧了,我去,实在太难受了。

                   现在也是带病上班了。

        1)  StringSplitOptions.RemoveEmptyEntries);  这句是什么意思?

        2) byte[] buffer = new byte[hexData.Length];
            for (int i = 0; i < buffer.Length; i++)
            {
                buffer[i] = Convert.ToByte(hexData[i]);
            }

这句又是什么意思?

这2句的大概意思可否给我说下,我看不懂。

          

绿绿山水 | 园豆:248 (菜鸟二级) | 2017-12-21 16:44

@绿绿山水: 

1)  StringSplitOptions.RemoveEmptyEntries);

 这句如果拆分完之后的数组里有空字符则丢弃。

        2) byte[] buffer = new byte[hexData.Length];
            for (int i = 0; i < buffer.Length; i++)
            {
                buffer[i] = Convert.ToByte(hexData[i]);
            }

这就是把"05"、"30"这些十六进制字符转换成byte啊,然后buffer直接send给串口。

身体要紧,能缓一下就缓一下吧

数据酷软件 | 园豆:130 (初学一级) | 2017-12-21 16:51

@数据酷软件: 现在吃了药好多了。不像昨天难受的要死。是的缓一缓,等身体好了,再来研究下。

绿绿山水 | 园豆:248 (菜鸟二级) | 2017-12-22 08:34
其他回答(1)
0

给了你Write有Stream得嘛,该怎么操作就怎么操作三。

花飘水流兮 | 园豆:13617 (专家六级) | 2017-12-21 11:37

还是得具体点,因为我知道串口有Write 方法,但怎么Write  我是真不知道。

支持(0) 反对(0) 绿绿山水 | 园豆:248 (菜鸟二级) | 2017-12-21 15:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册