首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

关于虚拟串口,该怎么解决

2012-02-03 
关于虚拟串口就是将一个串口虚拟为3个串口用,加上外部的电路可以挂接3个串口设备,有点像wince6.0下的RIL不

关于虚拟串口
就是将一个串口虚拟为3个串口用,加上外部的电路可以挂接3个串口设备,有点像wince6.0下的RIL
不知道,有人搞过没。给点思路。。any help with appreciate! Because I am fresh man and have't points! thanks you and your idea!

[解决办法]
RIL虚拟串口也只是软件层虚拟的,硬件接口仍然只是接一个设备:通信模块。

你除非需要多个软件同时使用同一个串口设备,否则没有这个必要专门写的。

如果希望一个串口硬件接口可以接多个设备,那还是只能用一个扩展串口芯片。
[解决办法]
shuiyan说的不错
如果你想接几个不同的硬件设备,那你得用扩展串口芯片扩展出硬件设备来了,除非你通过跳线选择的方式来做

至于所谓的虚拟串口只是软件层的

一般串口都是一个软件打开后,其他打开不了的
RIL只是针对GPRS这个东东来做的一个虚拟串口协议吧

以前弄GPS+电子狗时,还有做用BC3的蓝牙模块时,自己写过一版这样的软件层的虚拟串口驱动,不过都是软件层的了,跟楼主说的不是同一个概念
[解决办法]
没仔细想过这个问题。硬件上加上一些辅助电路,软件上面再仔细处理RTS/CTS,DTR/DSR等流控制信号也许能实现共用。不过在没有现有成熟方案可以选择的情况下,这会大大增加软件的复杂度和开发、调试时间。为了省这点成本这么做是否值得?
[解决办法]
485芯片倒不贵,maxim的价格高,但是做与之兼容的厂家太多了,intersil的就是很不错的可选厂家。国内也有很多,只是没用过。

硬件串口一对多有很多问题:
肯定必须加切换电路,不然多个设备一起响应就完蛋。
切换到B设备时,A设备有数据了,如何触发串口中断?
切换过程中,fifo里面的数据如何处理?等待完全发空吗?如果此时设备阻塞了,发不出去呢(带RTS/CTS流控时)?

热点排行