android编译modem,Android系统驱动,通过串口挂载外置modem的相关问题。

1、AP能发送AT指令,但cp接收不了AT指令?

查找原因:是因为cp那边接收指令的结束符不对,导致判断不出接收数据是不是AT指令,以至于无法解析数据。

解决办法:通过查看代码,cp那边是通过“n”作为AT指令的结束符,修改代码将“n”改为“r”,把结束符改成“r”就OK了,另外串口的波特率不匹配也会导致AT指令接收不成功。

2、AP和CP都能正确的发送和接收AT指令,但AP的RIL初始化不成功(即:static voidinitializeCallback(void *param)函数初始化不成功),通过打log(adb logcat -b radio)查看发现如下信息:

E/RIL ( 131): [young][Reference-ril.c] andy mainLoop()

D/RIL ( 131): setRadioState(0)

D/AT ( 131): AT> ATE0Q0V1

D/AT ( 131): AT> ATE0Q0V1

D/AT ( 131): AT> ATE0Q0V1

D/AT ( 131): AT> ATE0Q0V1

D/AT ( 131): AT> ATE0Q0V1

D/AT ( 131): AT> ATE0Q0V1

D/AT ( 131): AT> ATE0Q0V1

D/AT ( 131): AT> ATE0Q0V1

D/RIL ( 131): query_ctec. current: -1226203992, preferred: -1226203988

D/AT ( 131): AT> AT+CTEC?

通过分析,是由于AP发送第一条AT指令(即: AT> ATE0Q0V1)后,一直没收到CP反馈回来的信息,导致AP强行中断AT指令通道

解决办法:在cp端对该指令进行处理,如:接收到ATE0Q0V1指令后,主动给AP返回一个ERROR,然AP继续完成后面AT指令的初始化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值