智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2302|回复: 6
打印 上一主题 下一主题

C#winform 上位机串口问题

[复制链接]

5

主题

29

帖子

0

精华

高级会员

Rank: 4

积分
712
威望
369
贡献
217
兑换币
235
注册时间
2014-10-8
在线时间
63 小时
毕业学校
待定
跳转到指定楼层
1#
发表于 2014-10-14 23:46:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在用C#编上位机串口数据接收的时候写了这么句话:
str[i] = Convert.ToString(serialPort1.ReadByte(),16);
但是发现从缓冲区读出来的数据和发送的不一致,请问怎么解决
回复

使用道具 举报

32

主题

3009

帖子

0

精华

杰出人士

学期班的来卖萌?

Rank: 12Rank: 12Rank: 12

积分
14832

在线王奖章活跃会员奖章优秀会员奖章论坛元老奖章资源大师奖章

威望
5952
贡献
3172
兑换币
4257
注册时间
2013-11-26
在线时间
2854 小时
2#
发表于 2014-10-14 23:56:14 | 只看该作者
首先你发送的格式是否正确,第二,这是读的一个byte,你可以尝试发送一次,然后把整个缓冲区读出来显示。看看中间有没有出错
回复 支持 反对

使用道具 举报

5

主题

29

帖子

0

精华

高级会员

Rank: 4

积分
712
威望
369
贡献
217
兑换币
235
注册时间
2014-10-8
在线时间
63 小时
毕业学校
待定
3#
 楼主| 发表于 2014-10-15 00:01:18 | 只看该作者
zhou1994 发表于 2014-10-14 23:56
首先你发送的格式是否正确,第二,这是读的一个byte,你可以尝试发送一次,然后把整个缓冲区读出来显示。看 ...

读出来不太对。。。我想知道,就是你用串口循环发送数据,然后把这些数据都存到一个string数组里,应该怎么做
回复 支持 反对

使用道具 举报

32

主题

3009

帖子

0

精华

杰出人士

学期班的来卖萌?

Rank: 12Rank: 12Rank: 12

积分
14832

在线王奖章活跃会员奖章优秀会员奖章论坛元老奖章资源大师奖章

威望
5952
贡献
3172
兑换币
4257
注册时间
2013-11-26
在线时间
2854 小时
4#
发表于 2014-10-15 08:06:13 | 只看该作者
眞罒逗 发表于 2014-10-15 00:01
读出来不太对。。。我想知道,就是你用串口循环发送数据,然后把这些数据都存到一个string数组里,应该怎 ...

分情况,如果发送速度很快,2个数据就可能连在一起读出来,就会错,这时候就加分割符。如果是2个数据间隔时间比较长,就可以来一个存一个
回复 支持 反对

使用道具 举报

56

主题

1240

帖子

4

精华

跨届大侠

https://github.com/howborn

Rank: 10Rank: 10Rank: 10

积分
7954

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章论坛骨干奖章

QQ
威望
3025
贡献
1997
兑换币
2249
注册时间
2013-2-26
在线时间
1466 小时
5#
发表于 2014-10-15 09:12:20 | 只看该作者
回复 支持 反对

使用道具 举报

5

主题

29

帖子

0

精华

高级会员

Rank: 4

积分
712
威望
369
贡献
217
兑换币
235
注册时间
2014-10-8
在线时间
63 小时
毕业学校
待定
6#
 楼主| 发表于 2014-10-15 15:57:13 | 只看该作者
zhou1994 发表于 2014-10-15 08:06
分情况,如果发送速度很快,2个数据就可能连在一起读出来,就会错,这时候就加分割符。如果是2个数据间隔 ...

我们传送的波特率是115200。。用分割符是什么意思?
回复 支持 反对

使用道具 举报

32

主题

3009

帖子

0

精华

杰出人士

学期班的来卖萌?

Rank: 12Rank: 12Rank: 12

积分
14832

在线王奖章活跃会员奖章优秀会员奖章论坛元老奖章资源大师奖章

威望
5952
贡献
3172
兑换币
4257
注册时间
2013-11-26
在线时间
2854 小时
7#
发表于 2014-10-15 18:48:40 | 只看该作者
眞罒逗 发表于 2014-10-15 15:57
我们传送的波特率是115200。。用分割符是什么意思?

我说的是数据间隔时间。不是波特率。分割符。c#好像有3个。比如,就可以。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-6 08:04 , Processed in 0.046807 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表