网上查了好多资料,还是不太理解。请问此时wince上开发应用程序A,A像串口操作一样对usb虚拟成的串口1进行操作。
pc端要想与wince通信,需要做什么?已经安装了ActiveSync,这个可以正常工作。
pc端要怎么编写应用程序,请说详细点好么,谢谢各位,愁死我了快。
CreateFile(hFile,....)这个句柄hFile怎么怎么确定?pc端是像操作串口一样操作么?还是进行usb操作?
20 个解决方案
#1
CreateFile(hFile,....)这个句柄hFile怎么怎么确定?
--->只要知道你的usb 虚拟成串口1对应的驱动的名字就可以了啊
pc端是像操作串口一样操作么?还是进行usb操作?
---》像操作串口一样操作啊。
--->只要知道你的usb 虚拟成串口1对应的驱动的名字就可以了啊
pc端是像操作串口一样操作么?还是进行usb操作?
---》像操作串口一样操作啊。
#2
可能我没将清楚。在wince上,应用程序A调用串口打开wince的虚拟串口1
我把usb接到pc上,不知道pc上会虚拟成那个串口。所以,pc上的应用程序B不知道打开那个串口。
这个串口跟wince的串口不是同一个。
是不是pc上要装驱动?
我把usb接到pc上,不知道pc上会虚拟成那个串口。所以,pc上的应用程序B不知道打开那个串口。
这个串口跟wince的串口不是同一个。
是不是pc上要装驱动?
#3
这个不太清楚了,但我觉得应该PC端不需要安装驱动了吧
#4
现在把wince的板子通过usb接入pc,pc的设备管理器,显示是:microsoft usb sync
#5
其实你是把USB当做串口来用是吧??然后把在PC上通过对“串口”的操作与下位机通讯?
那我觉得你要在上位机PC安装驱动了。。。USB转串口驱动。。。
我现在的开发,在笔记本的时候,可是没有串口,就用了USB转接串口的线,与ARM交互,其实是一个道理啊
在DNW中就可以使用那个特定的串口了,是根据你的PC的哪个USB口转的
PC上的程序当然得有数据接收的啊,就像ARM上对串口的操作啊,至于你说的creatfile()的句柄,我觉得在根据DNW就可以推断啊
你现在当然是PC与ARM同步了,直接接上USB,因为现在还是没有把USB线当串口用
还有,最好是固定的USB口,别乱用,这样子对某个口操作就好点了
那我觉得你要在上位机PC安装驱动了。。。USB转串口驱动。。。
我现在的开发,在笔记本的时候,可是没有串口,就用了USB转接串口的线,与ARM交互,其实是一个道理啊
在DNW中就可以使用那个特定的串口了,是根据你的PC的哪个USB口转的
PC上的程序当然得有数据接收的啊,就像ARM上对串口的操作啊,至于你说的creatfile()的句柄,我觉得在根据DNW就可以推断啊
你现在当然是PC与ARM同步了,直接接上USB,因为现在还是没有把USB线当串口用
还有,最好是固定的USB口,别乱用,这样子对某个口操作就好点了
#6
PC和USB通信,从你上面表达的意思上来看,
终端机:终端机这边是通过USB连接到PC上的,但是具体的操作模式就是这个USB虚拟出来的COM1口,所以在你的终端机器这边就createfile("COM1"...),writefile,readfile就可以把数据通过USB传到PC机器上去了
PC机:PC机这边需要去识别你的终端机,就想你插入U盘一样,当你插入U盘的时候,PC机这边的USBhost会通过windows进行一系列的枚举通信最后被windows识别为U盘,你这边也一样啊,当你把你的终端机通过USB线连接到PC机的host口后也会通过枚举等一些列的操作被windows识别啊,这个识别就需要一个windows驱动,这个驱动负责具体的通信,你的这个终端机识别为一个设备,这个设备可以是普通的IO设备,也可以是一个串口,等等,这都取决于你的windows上的驱动。然后你就可以通过createfile,writefile,readfile将数据发到终端机上。
就想ActiveSync,你装上后他其实是装了一个windows驱动的,装上了之后,你才会出现那个microsoft usb sync
终端机:终端机这边是通过USB连接到PC上的,但是具体的操作模式就是这个USB虚拟出来的COM1口,所以在你的终端机器这边就createfile("COM1"...),writefile,readfile就可以把数据通过USB传到PC机器上去了
PC机:PC机这边需要去识别你的终端机,就想你插入U盘一样,当你插入U盘的时候,PC机这边的USBhost会通过windows进行一系列的枚举通信最后被windows识别为U盘,你这边也一样啊,当你把你的终端机通过USB线连接到PC机的host口后也会通过枚举等一些列的操作被windows识别啊,这个识别就需要一个windows驱动,这个驱动负责具体的通信,你的这个终端机识别为一个设备,这个设备可以是普通的IO设备,也可以是一个串口,等等,这都取决于你的windows上的驱动。然后你就可以通过createfile,writefile,readfile将数据发到终端机上。
就想ActiveSync,你装上后他其实是装了一个windows驱动的,装上了之后,你才会出现那个microsoft usb sync
#7
谢谢你们的回答.我的理解: pc端要识别我的usb设备,就需要安装驱动.这个驱动要自己写么?应该怎么写的?
我现在插入usb,可以识别出来,这个设备是
\USB#Vid_045e&Pid_00ce#00000000-3024-0801-0000-000000000000#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
接下来怎么将它当作串口读写数据呢?
我现在插入usb,可以识别出来,这个设备是
\USB#Vid_045e&Pid_00ce#00000000-3024-0801-0000-000000000000#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
接下来怎么将它当作串口读写数据呢?
#8
要把USB设备识别成串口。。。。
6楼也说得很明白了。
你现在还是USB的ARM传输设备啊,因为是安装的同步软件!!
6楼也说得很明白了。
你现在还是USB的ARM传输设备啊,因为是安装的同步软件!!
#9
你现在的设置在PC端显示的是microsoft usb sync,不是串口,所以在PC端不能以串口的形式操作设备,你要改CE端的USB驱动,将它设置成USB CDC DEVICE,这样在PC端才能显示成一个COM。
我的USB驱动在PC端显示成串口了,但是在WINCE端不是串口的形式,我的CE端也没必要虚拟成串口形式。
实际上两端都虚拟成COM是可以实现的。
我的USB驱动在PC端显示成串口了,但是在WINCE端不是串口的形式,我的CE端也没必要虚拟成串口形式。
实际上两端都虚拟成COM是可以实现的。
#10
#11
显然你这个设备名字是microsoft usb sync,可以不用他的activesync来通信,直接用这个名字来做IO createfile来做。。可以试试。。通信肯定是行。。思路就是那样的。但是这么做显然是不能作数的。。
verbol说的可以啊。。我还没有弄过USB做串口的windows驱动呢
#12
板子上操作阿
#13
http://javahigh1.iteye.com/blog/1069969
不知道楼主完成了没 我也在做这方面的 刚接触。
如果楼主已经完成了 请看一下我的帖子 给点意见
http://topic.csdn.net/u/20110908/10/56af86b3-3a02-451d-b487-9d7db023f951.html?seed=667725602&r=75544474#r_75544474
谢谢
不知道楼主完成了没 我也在做这方面的 刚接触。
如果楼主已经完成了 请看一下我的帖子 给点意见
http://topic.csdn.net/u/20110908/10/56af86b3-3a02-451d-b487-9d7db023f951.html?seed=667725602&r=75544474#r_75544474
谢谢
#14
mark
#15
引用 20 楼 accessysq 的回复:
串口调试助手如何打开wince设备。我见过的都是只能打开标准的com1,com2...comX的。
回头我不设置波特率,直接发文件看看多快。
楼主, 有结果了吗? 是不是跟平常usb通讯的速度一样? 既然用了虚拟串口, 那跟usb2.0的协议是没有关系的吧, 这样也能达到那个速度???
这是我在你的帖子上的回复, 是不是结贴了就不能再讨论了, 为啥不回我呢
这是我刚发的帖子,有什么建议请尽情发表吧
http://topic.csdn.net/u/20110922/09/e128e05d-3c95-4720-ac55-dc36150b88fd.html?seed=486731166&r=75652356#r_75652356
#16
学习了
#17
你只是在wince端做了一个"U转串",对pc机而言,你这个还是个usb设备
#18
你好, 我可以这样理解吗: 传送速度只跟硬件有关,跟软件无关? 只要硬件是usb他就能有usb应有的速度?
#19
你好, 如果usb的另一端不停地给wince发送数据,而他是怎么发得暂时不知道,wince要接收这些数据是不是得从新写个驱动,利用现有的驱动貌似都不行吧?
#20
插入到PC,PC的PnP会问插入的是什么设备,设备要回是“串口”,PC提示安装驱动程序,驱动装好以后,在设备管理器中就可以看到虚拟的串口了。
#21
#1
CreateFile(hFile,....)这个句柄hFile怎么怎么确定?
--->只要知道你的usb 虚拟成串口1对应的驱动的名字就可以了啊
pc端是像操作串口一样操作么?还是进行usb操作?
---》像操作串口一样操作啊。
--->只要知道你的usb 虚拟成串口1对应的驱动的名字就可以了啊
pc端是像操作串口一样操作么?还是进行usb操作?
---》像操作串口一样操作啊。
#2
可能我没将清楚。在wince上,应用程序A调用串口打开wince的虚拟串口1
我把usb接到pc上,不知道pc上会虚拟成那个串口。所以,pc上的应用程序B不知道打开那个串口。
这个串口跟wince的串口不是同一个。
是不是pc上要装驱动?
我把usb接到pc上,不知道pc上会虚拟成那个串口。所以,pc上的应用程序B不知道打开那个串口。
这个串口跟wince的串口不是同一个。
是不是pc上要装驱动?
#3
这个不太清楚了,但我觉得应该PC端不需要安装驱动了吧
#4
现在把wince的板子通过usb接入pc,pc的设备管理器,显示是:microsoft usb sync
#5
其实你是把USB当做串口来用是吧??然后把在PC上通过对“串口”的操作与下位机通讯?
那我觉得你要在上位机PC安装驱动了。。。USB转串口驱动。。。
我现在的开发,在笔记本的时候,可是没有串口,就用了USB转接串口的线,与ARM交互,其实是一个道理啊
在DNW中就可以使用那个特定的串口了,是根据你的PC的哪个USB口转的
PC上的程序当然得有数据接收的啊,就像ARM上对串口的操作啊,至于你说的creatfile()的句柄,我觉得在根据DNW就可以推断啊
你现在当然是PC与ARM同步了,直接接上USB,因为现在还是没有把USB线当串口用
还有,最好是固定的USB口,别乱用,这样子对某个口操作就好点了
那我觉得你要在上位机PC安装驱动了。。。USB转串口驱动。。。
我现在的开发,在笔记本的时候,可是没有串口,就用了USB转接串口的线,与ARM交互,其实是一个道理啊
在DNW中就可以使用那个特定的串口了,是根据你的PC的哪个USB口转的
PC上的程序当然得有数据接收的啊,就像ARM上对串口的操作啊,至于你说的creatfile()的句柄,我觉得在根据DNW就可以推断啊
你现在当然是PC与ARM同步了,直接接上USB,因为现在还是没有把USB线当串口用
还有,最好是固定的USB口,别乱用,这样子对某个口操作就好点了
#6
PC和USB通信,从你上面表达的意思上来看,
终端机:终端机这边是通过USB连接到PC上的,但是具体的操作模式就是这个USB虚拟出来的COM1口,所以在你的终端机器这边就createfile("COM1"...),writefile,readfile就可以把数据通过USB传到PC机器上去了
PC机:PC机这边需要去识别你的终端机,就想你插入U盘一样,当你插入U盘的时候,PC机这边的USBhost会通过windows进行一系列的枚举通信最后被windows识别为U盘,你这边也一样啊,当你把你的终端机通过USB线连接到PC机的host口后也会通过枚举等一些列的操作被windows识别啊,这个识别就需要一个windows驱动,这个驱动负责具体的通信,你的这个终端机识别为一个设备,这个设备可以是普通的IO设备,也可以是一个串口,等等,这都取决于你的windows上的驱动。然后你就可以通过createfile,writefile,readfile将数据发到终端机上。
就想ActiveSync,你装上后他其实是装了一个windows驱动的,装上了之后,你才会出现那个microsoft usb sync
终端机:终端机这边是通过USB连接到PC上的,但是具体的操作模式就是这个USB虚拟出来的COM1口,所以在你的终端机器这边就createfile("COM1"...),writefile,readfile就可以把数据通过USB传到PC机器上去了
PC机:PC机这边需要去识别你的终端机,就想你插入U盘一样,当你插入U盘的时候,PC机这边的USBhost会通过windows进行一系列的枚举通信最后被windows识别为U盘,你这边也一样啊,当你把你的终端机通过USB线连接到PC机的host口后也会通过枚举等一些列的操作被windows识别啊,这个识别就需要一个windows驱动,这个驱动负责具体的通信,你的这个终端机识别为一个设备,这个设备可以是普通的IO设备,也可以是一个串口,等等,这都取决于你的windows上的驱动。然后你就可以通过createfile,writefile,readfile将数据发到终端机上。
就想ActiveSync,你装上后他其实是装了一个windows驱动的,装上了之后,你才会出现那个microsoft usb sync
#7
谢谢你们的回答.我的理解: pc端要识别我的usb设备,就需要安装驱动.这个驱动要自己写么?应该怎么写的?
我现在插入usb,可以识别出来,这个设备是
\USB#Vid_045e&Pid_00ce#00000000-3024-0801-0000-000000000000#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
接下来怎么将它当作串口读写数据呢?
我现在插入usb,可以识别出来,这个设备是
\USB#Vid_045e&Pid_00ce#00000000-3024-0801-0000-000000000000#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
接下来怎么将它当作串口读写数据呢?
#8
要把USB设备识别成串口。。。。
6楼也说得很明白了。
你现在还是USB的ARM传输设备啊,因为是安装的同步软件!!
6楼也说得很明白了。
你现在还是USB的ARM传输设备啊,因为是安装的同步软件!!
#9
你现在的设置在PC端显示的是microsoft usb sync,不是串口,所以在PC端不能以串口的形式操作设备,你要改CE端的USB驱动,将它设置成USB CDC DEVICE,这样在PC端才能显示成一个COM。
我的USB驱动在PC端显示成串口了,但是在WINCE端不是串口的形式,我的CE端也没必要虚拟成串口形式。
实际上两端都虚拟成COM是可以实现的。
我的USB驱动在PC端显示成串口了,但是在WINCE端不是串口的形式,我的CE端也没必要虚拟成串口形式。
实际上两端都虚拟成COM是可以实现的。
#10
#11
显然你这个设备名字是microsoft usb sync,可以不用他的activesync来通信,直接用这个名字来做IO createfile来做。。可以试试。。通信肯定是行。。思路就是那样的。但是这么做显然是不能作数的。。
verbol说的可以啊。。我还没有弄过USB做串口的windows驱动呢
#12
板子上操作阿
#13
http://javahigh1.iteye.com/blog/1069969
不知道楼主完成了没 我也在做这方面的 刚接触。
如果楼主已经完成了 请看一下我的帖子 给点意见
http://topic.csdn.net/u/20110908/10/56af86b3-3a02-451d-b487-9d7db023f951.html?seed=667725602&r=75544474#r_75544474
谢谢
不知道楼主完成了没 我也在做这方面的 刚接触。
如果楼主已经完成了 请看一下我的帖子 给点意见
http://topic.csdn.net/u/20110908/10/56af86b3-3a02-451d-b487-9d7db023f951.html?seed=667725602&r=75544474#r_75544474
谢谢
#14
mark
#15
引用 20 楼 accessysq 的回复:
串口调试助手如何打开wince设备。我见过的都是只能打开标准的com1,com2...comX的。
回头我不设置波特率,直接发文件看看多快。
楼主, 有结果了吗? 是不是跟平常usb通讯的速度一样? 既然用了虚拟串口, 那跟usb2.0的协议是没有关系的吧, 这样也能达到那个速度???
这是我在你的帖子上的回复, 是不是结贴了就不能再讨论了, 为啥不回我呢
这是我刚发的帖子,有什么建议请尽情发表吧
http://topic.csdn.net/u/20110922/09/e128e05d-3c95-4720-ac55-dc36150b88fd.html?seed=486731166&r=75652356#r_75652356
#16
学习了
#17
你只是在wince端做了一个"U转串",对pc机而言,你这个还是个usb设备
#18
你好, 我可以这样理解吗: 传送速度只跟硬件有关,跟软件无关? 只要硬件是usb他就能有usb应有的速度?
#19
你好, 如果usb的另一端不停地给wince发送数据,而他是怎么发得暂时不知道,wince要接收这些数据是不是得从新写个驱动,利用现有的驱动貌似都不行吧?
#20
插入到PC,PC的PnP会问插入的是什么设备,设备要回是“串口”,PC提示安装驱动程序,驱动装好以后,在设备管理器中就可以看到虚拟的串口了。