请问wince模拟器上面运行的应用程序能从串口接收PC发的数据吗?

时间:2022-03-04 17:36:51

请问wince模拟器上面运行的应用程序能从串口接收PC发的数据吗?搜了,似乎都没有解决

注:我发现模拟器上那3个可以映射的串口都是给wince系统打开使用的了,我用的是wince5模拟器

21 个解决方案

#1


可以的,你的PC上的串口或者USB口都可以映射为模拟器的那三个口,但是要注意模拟器给你做了一下端口映射,比如说你PC上显示某个物理COM口是COM8,那么你可以在你的模拟器上配置好你的COM0对应COM8口,但是你在你的模拟器上面跑的程序必须要打开COM1口,模拟器上面COM0对应你WINCE应用的COM1,模拟器上面COM1对应你WINCE应用的COM2,依次类推。
其中三个口对应的作用分别为:
串行端口 0 
仿真程序 COM1 端口,由 OS 用于调试输出。 

串行端口 1 
仿真程序 COM2 端口,用作产品的串行端口。

启用或禁用 KITL 不会更改端口行为。

串行端口 2 
仿真程序 COM3 端口,用作 IRDA 端口。

#2


如果对如何进行端口映射不太清楚,可以去google里面输入"mapping serial port on windows ce"
可以找到很多资料希望对你有帮助~

#3


可以, 我就是這樣用的. 
如果你的PC有兩個串口,就把一個給模擬器用, 另外一個給串口調試器(如超級終端)用.再用交叉串口線把兩個串口連起來用了.

比如你有COM1 COM2
那么在模擬器中把COM1映射為模擬器的Port0(在Mobile程序的代碼中還是COM1:,Microsoft的命名有點亂),
你把你的串口調試器(如超級終端)設為使用COM2,則可以調試你的Mobile串口程序了.

不過現在的主機一般都只有一個串口, 所以估計要用到一根USB轉串口的線或者找另外一台PC來運行串口調試器.
我就在桌子邊上放了另外一台PC.

呵呵.

#4


好东西,关注一下

#5


mark

#6


Roy_ly,“但是你在你的模拟器上面跑的程序必须要打开COM1口”,我试了,是打不开的,因为已经让wince占用了,所以我的应用程序是不能再打开COM1口了

#7


COM1是给你看调试信息或者给WINCE系统内核组件调用的,你的应用程序可以打开COM2,前提是你要先映射好。
上面笔误了,呵呵

#8


> Tag

#9


MarK!!!

#10


到目前为止,对各位的回答还不是很满意,但是还是谢谢大家!迟些时候再结贴。

#11


引用 10 楼 wsnh12 的回复:
到目前为止,对各位的回答还不是很满意,但是还是谢谢大家!迟些时候再结贴。


以前我以为不行呢?!没有想到这个模拟器这么强啊。

对于他们的回答,我是相当饿震惊。

以后不用买开发板了。哈哈

#12


你可以映射PC的COM1到模拟器的COM0,CE中打开COM1,PC用超级中断打开COM2。
这样就可以实现模拟器和PC之间的串口通信了。
我在HP6515上一直这么用。

#13


引用 12 楼 sunrain_hjb 的回复:
你可以映射PC的COM1到模拟器的COM0,CE中打开COM1,PC用超级中断打开COM2。 
这样就可以实现模拟器和PC之间的串口通信了。 
我在HP6515上一直这么用。


我觉得楼主想知道具体怎么映射吧。这个问题我也想知道。到底怎么映射过去。在哪里改动呢?

#14


http://www.cnblogs.com/we-hjb/archive/2008/08/04/1259752.html
楼主可以到这里看一下,有截图和详细说明。

#15


make

#16


各位:我发现模拟器上那3个可以映射的串口都是给wince系统打开使用的了,我还能在wince的应用程序打开这3个串口吗?

#17


引用 16 楼 wsnh12 的回复:
各位:我发现模拟器上那3个可以映射的串口都是给wince系统打开使用的了,我还能在wince的应用程序打开这3个串口吗?


串口不是用应用打开的吗?

你试试就知道了。我觉得完全没有问题!

#18


几个月前搞定了,谢谢各位。现在才来结贴,不好意思啊

#19


请教关于WinCE模拟器映射PC串口的问题,我映射以后也碰到程序打开失败,请问是什么原因?谢谢

#20


我完全按照http://www.cnblogs.com/we-hjb/archive/2008/08/04/1259752.html连接做的映射,CreateFile(L"COM1"...)
CreateFile(L"COM2"...)都失败,不知道为什么?

#21


该回复于2010-12-16 11:36:05被版主删除

#1


可以的,你的PC上的串口或者USB口都可以映射为模拟器的那三个口,但是要注意模拟器给你做了一下端口映射,比如说你PC上显示某个物理COM口是COM8,那么你可以在你的模拟器上配置好你的COM0对应COM8口,但是你在你的模拟器上面跑的程序必须要打开COM1口,模拟器上面COM0对应你WINCE应用的COM1,模拟器上面COM1对应你WINCE应用的COM2,依次类推。
其中三个口对应的作用分别为:
串行端口 0 
仿真程序 COM1 端口,由 OS 用于调试输出。 

串行端口 1 
仿真程序 COM2 端口,用作产品的串行端口。

启用或禁用 KITL 不会更改端口行为。

串行端口 2 
仿真程序 COM3 端口,用作 IRDA 端口。

#2


如果对如何进行端口映射不太清楚,可以去google里面输入"mapping serial port on windows ce"
可以找到很多资料希望对你有帮助~

#3


可以, 我就是這樣用的. 
如果你的PC有兩個串口,就把一個給模擬器用, 另外一個給串口調試器(如超級終端)用.再用交叉串口線把兩個串口連起來用了.

比如你有COM1 COM2
那么在模擬器中把COM1映射為模擬器的Port0(在Mobile程序的代碼中還是COM1:,Microsoft的命名有點亂),
你把你的串口調試器(如超級終端)設為使用COM2,則可以調試你的Mobile串口程序了.

不過現在的主機一般都只有一個串口, 所以估計要用到一根USB轉串口的線或者找另外一台PC來運行串口調試器.
我就在桌子邊上放了另外一台PC.

呵呵.

#4


好东西,关注一下

#5


mark

#6


Roy_ly,“但是你在你的模拟器上面跑的程序必须要打开COM1口”,我试了,是打不开的,因为已经让wince占用了,所以我的应用程序是不能再打开COM1口了

#7


COM1是给你看调试信息或者给WINCE系统内核组件调用的,你的应用程序可以打开COM2,前提是你要先映射好。
上面笔误了,呵呵

#8


> Tag

#9


MarK!!!

#10


到目前为止,对各位的回答还不是很满意,但是还是谢谢大家!迟些时候再结贴。

#11


引用 10 楼 wsnh12 的回复:
到目前为止,对各位的回答还不是很满意,但是还是谢谢大家!迟些时候再结贴。


以前我以为不行呢?!没有想到这个模拟器这么强啊。

对于他们的回答,我是相当饿震惊。

以后不用买开发板了。哈哈

#12


你可以映射PC的COM1到模拟器的COM0,CE中打开COM1,PC用超级中断打开COM2。
这样就可以实现模拟器和PC之间的串口通信了。
我在HP6515上一直这么用。

#13


引用 12 楼 sunrain_hjb 的回复:
你可以映射PC的COM1到模拟器的COM0,CE中打开COM1,PC用超级中断打开COM2。 
这样就可以实现模拟器和PC之间的串口通信了。 
我在HP6515上一直这么用。


我觉得楼主想知道具体怎么映射吧。这个问题我也想知道。到底怎么映射过去。在哪里改动呢?

#14


http://www.cnblogs.com/we-hjb/archive/2008/08/04/1259752.html
楼主可以到这里看一下,有截图和详细说明。

#15


make

#16


各位:我发现模拟器上那3个可以映射的串口都是给wince系统打开使用的了,我还能在wince的应用程序打开这3个串口吗?

#17


引用 16 楼 wsnh12 的回复:
各位:我发现模拟器上那3个可以映射的串口都是给wince系统打开使用的了,我还能在wince的应用程序打开这3个串口吗?


串口不是用应用打开的吗?

你试试就知道了。我觉得完全没有问题!

#18


几个月前搞定了,谢谢各位。现在才来结贴,不好意思啊

#19


请教关于WinCE模拟器映射PC串口的问题,我映射以后也碰到程序打开失败,请问是什么原因?谢谢

#20


我完全按照http://www.cnblogs.com/we-hjb/archive/2008/08/04/1259752.html连接做的映射,CreateFile(L"COM1"...)
CreateFile(L"COM2"...)都失败,不知道为什么?

#21


该回复于2010-12-16 11:36:05被版主删除