串口通信 Win32 和WinCe之间

Jarrys 2011-05-03 02:07:29
我现在在写一个(Win32 和WinCe之间)串口通信的程序,就是在Win32的PC端发数据到PND(WinCe)端,并且两端匀可发送、接收。
现在的问题是:在Win32端发送,然后自己再接收,是没问题的;但是在WinCE端,接收数据却不同,比如:第一次我在Win32端发送“123”,而WinCe端接收到的是“1”,第二次再发送“456”,Wince接收到的是“234”,依此类推。

次数 Win32端发送 WinCE端接收
1 123 1
2 456 234
3 ABC 56A
4 WXYZ BCW
5 IUY XYZI
。。。。。

但在Win32端接收是正常的,请问这是什么原因啊?!在线等到。。先谢过
...全文
134 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
vcf_reader 2011-05-15
  • 打赏
  • 举报
回复
wince的接收速度慢
用线程处理之
asldkhg 2011-05-05
  • 打赏
  • 举报
回复
wince没玩过啊
但是我一般使用其他单片机时,当单片机处于接受状态时,我会在PC端发送时在数据尾部设置一个标志位,方便单片机检测。
单片机一直接收数据值到检测到标志位为止。。。
我一直是这么办的,不知道对楼主有么有帮助 呵呵
King_hhuang 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bibingyan 的回复:]
接收多次,它会在WaitCommEvent这里阻塞,不会再继续往下走
[/Quote]
接收到数据为空你就跳出啊
Jarrys 2011-05-04
  • 打赏
  • 举报
回复
帮忙啊。。
一条晚起的虫 2011-05-04
  • 打赏
  • 举报
回复
// WinCE貌似不支持非阻塞模式,只能用阻塞模式。
King_hhuang 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bibingyan 的回复:]
我是这样用的:
3.用非阻塞模式。用事件驱动的方法。这个有点难度。
[/Quote]

那你就收到几次的数据后自己断包啊
Jarrys 2011-05-04
  • 打赏
  • 举报
回复
我是这样用的:
3.用非阻塞模式。用事件驱动的方法。这个有点难度。
vcf_reader 2011-05-04
  • 打赏
  • 举报
回复
硬件读写时间长,写端口是一次不能写完,读的时候也一样。
你应该好好看看书。
以读数据为例,通常有两种方法:
1.用阻塞模式。开一个线程,死读,直到读完为止。
2.用阻塞模式。开一个线程,死读,每次只读一个字节,直到读完为止。
3.用非阻塞模式。用事件驱动的方法。这个有点难度。
Jarrys 2011-05-03
  • 打赏
  • 举报
回复
接收多次,它会在WaitCommEvent这里阻塞,不会再继续往下走
King_hhuang 2011-05-03
  • 打赏
  • 举报
回复
那你每次WaitCommEvent()检测到有数据可读

接收多次,直到Recv出错才结束(没有接收到数据),试试

或者自己接收到多次数据后断包
Jarrys 2011-05-03
  • 打赏
  • 举报
回复
我的接收是用线程接收的,while(true){里面通过WaitCommEvent()来检测是否有数据可读,没有就阻塞;}在Win32端接收、发送都是正常的
King_hhuang 2011-05-03
  • 打赏
  • 举报
回复
接收的时候,应该接收多次,直到Recv出错才结束(没有接收到数据)
应用平台: Win 7/Win2003/WinXP/Win2000/WinNt/Win9x WinCE.NET/Pocket PC/Win Mobile 应用范围:机房监控、PLC控制与管理、门禁医疗、楼宇自控、工业自动化、测量仪表及环境动力监控系统、LED信息显示设备、CNC管理 关 键 字:串口 网络 通讯 通信 net serial socket wince 软件安全:完全通过360 瑞星 金山 卡巴 NOD 等杀毒软件 绿色无插件 详细介绍:   网络串口交互中心,实现网络数据和串口数据相互转换的功能,能够将RS232串口转换成TCP/IP网络接口(或TCP/IP网络接口转换成RS232串口),实现串口(RS232)与TCP/IP网络接口的数据双向透明传输。使得串口设备能够立即具备TCP/IP网络接口功能,连接网络进行数据通信,极大的扩展串口设备的通信距离。   完全支持Windows全系列(包含嵌入式)操作系统,如:WinXP/Win2K3/Win7/WinCE.NET/Poceket PC/Windows Mobile。   对于RS232接口,一台串口设备只能够接一台PC机,如果需要连接多台PC机,原来的串口方案将不易于扩展,而网络则没有该问题。结合免费的虚拟串口工具(COM-Redirecter)使用,不需要对原先的串口应用软件进行任何改造,为远程串口调试和应用提供了全新的解决方案。   允许串口(RS232)应用直接与一个TCP网络接口相连,可以把串口(RS232)数据转发至TCP/IP网络,也可以把TCP/IP网络数据转发至串口设备或串口应用。可以作为串口调试工具、TCP应用开发调试工具、串口远程调试工具、TCP-COM转换器使用。   1、专业的串口调试工具,支持COM1-255,自适应串口参数,支持ASCII和HEX显示通讯内容,可以方便的监控和调试串口设备和软件。   2、专业的网络调试工具,支持TCP、Socket和UDP三种方式,其TCP和Socket支持Server端和Client端两种模式,Server模式下支持N个Client端接入。其中TCP仅支持英文字符,Socket支持中文,支持ASCII和HEX显示通讯内容。   3、利用本软件可以将网络中串口应用软件(或串口设备)连接起来,使TCP/IP网络变成一条虚拟的长度没有限制的串口线,并能够监视串口应用软件和串口设备所发送的数据,其结构如下: 串口应用软件(串口设备)<-->本软件<-->TCP/IP网络(Internet/局域网)<-->本软件<-->串口应用软件(串口设备)   4、作为RS232串口-TCP网络接口的转换器,把串口数据转换成TCP数据发送到网络上连接网络应用,也可以把网络数据转发至串口,以连接串口设备,同时可以作为RS232串口和TCP应用的调试工具。   5、通过本软件,可以将PC机(或云终端)作为串口服务器使用。   6、可以作为TCP服务器或客户端调试工具使用。

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧