6111|16

80

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

高分帖 GPRS拨号连接 打电话怎么跟发送数据共存 [复制链接]

RT
我现在在实现GPRS的功能,现在可以建立拨号连接,并且RasDial拨上号了。但是领导要求发数据和打电话的功能都有。
很明显这两个功能是有冲突的,打电话时GPRS数据发送肯定得停止。

问题:
1. 优先考虑使用wince提供的API,什么TAPI,RAS等等之类,应该怎么实现,应该用到什么库,不涉及到直接操作串口,调用API实现的方法,告我思路和解决办法
2. 退而求其次,用API和串口相结合的方式,好像是有这个办法的MUX之类,这样是正确的设计方式吗?
3. 纯粹到串口上玩AT指令,这个是最不愿意的...

小弟没有指望哪位能像教学生一样手把手教会,最起码能给我个思路,细节我字节去查、学习、实现。如果能详细点,当然更感激,有源码那更阿弥陀佛

最新回复

我认为第一种方式是为直接操作串口提供的... 你的第二种实现能不能给我提供点帮助啊,最好给点代码参考..是不是太无耻了  详情 回复 发表于 2010-7-1 13:03
点赞 关注

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
应该是用MUX协议之类的,不知道你的平台。所谓mux就是虚拟出一个串口通道出来给GSM通信。其实你可以看看网上高人弄的那个基于一个物理串口虚拟出的逻辑串口。好像是这样的!
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
还有就是那个连接管理到底是什么东西.....,connmgr可以建立GPRS拨号连接吗?那Ras拨号又跟这个有什么区别
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

4
 
TAPI是微软提供的打电话的一系列的API,拨打、接听、挂断等等的都用实现,直接调用就OH YEAH!
现在的问题是还得用GPRS连接然后socket通讯。如果我建立一个GPRS拨号连接,连接成功。然后我再调用TAPI提供的接口打/接电话可以成功吗??
如果不成功,也就是说有了GPRS连接后相当于占用了串口,所以别的功能也无法实现了,所以必须把一个串口当两个用要用虚拟串口,也就是得用到RIL层的接口?

问题多多...,谁帮帮忙
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

5
 
你想虚拟出一个串口,需要底层驱动支持,如果你只是应用层开发,建议你寻找ril高手帮你解决。你所说的即能打电话还能GPRS传输数据其实就是多路复用,这是一个很难的问题,好多公司解决起来都很费劲啊,据我所知现在微软提供了支持多路的wince的ril开发包,建议你在这方面找找,估计还可能快一点。总之我觉得如果是你一个人来搞这个问题,太难了。祝你好运。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

6
 
路过,帮不上忙,初学wince,呵呵,goodluck
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

7
 
做过好多这东西的说。这个是不可能完全实现的。不管用mux什么的都不能完全实现。毕竟用的还是一个物理通道。再保证通话质量的前提下,还不如直接把数据断掉。如果非要一边通话,一边数据,数据量大的时候很可能会影响到通话质量的。那这个功能就要成为鸡肋了。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

8
 
学习了,我这里也有客户提出这样的要求~!

鸡肋,鸡肋啊~!~!
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

9
 
我这客户也是,唉...
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

10
 
实现CMUX就行了,虚拟出多串口,一个串口用于拔号上网,其他的打电话发短信,方便多程序同时使用
不过上网传输数据时,电话是不能使用的,只有数据通道处于空闲时,语音才能正常使用
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

11
 
多谢上面几位弟兄帮忙,还想看看又没什么说法
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

12
 
继续顶一下
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

13
 
打电话的时候GPRS数据发送肯定得停止,这是无可避免的。

有两种解决方法:
1、来电话时,通过+++切协议,换到语音模式,电话完后,在ATO回去。这个需要了解RAS-TAPI-Unimodem这个过程的原理,修改微软底层的拨号过程中的AT指令。
2、用MUX。要看你GSM模块支持MUX协议否,直接套用微软RIL下面的MUX协议代码,虚拟出2个串口,一个打电话,一个GPRS,就不存在切换的问题了,测试你可以发现,比如COM2虚拟出COM5,和COM6,COM5在打电话时,COM6的数据会断,但电话停止后,COM6的数据会自动连上。

我也是最近刚做这个东西,这是我的一点心得,希望对你有所帮助。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 12 楼 liu103bing 的回复:
打电话的时候GPRS数据发送肯定得停止,这是无可避免的。

有两种解决方法:
1、来电话时,通过+++切协议,换到语音模式,电话完后,在ATO回去。这个需要了解RAS-TAPI-Unimodem这个过程的原理,修改微软底层的拨号过程中的AT指令。

这个可以吗?是不是相对容易一些,因为我看GPRS手册上边也提供这种方法了,+++是得TAPI来做吧,需要修改驱动?你已经这么做过了吗?能不能给点参考的东西
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

15
 
第一个方法只是我理论的理解,我也不清楚怎么去切换,没成功。
我采用的是第二种方法
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

16
 
lz,请看wince6.0的cellcore组件,RIL驱动
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

17
 
引用 14 楼 liu103bing 的回复:
第一个方法只是我理论的理解,我也不清楚怎么去切换,没成功。
我采用的是第二种方法

我认为第一种方式是为直接操作串口提供的...
你的第二种实现能不能给我提供点帮助啊,最好给点代码参考..是不是太无耻了
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表