ARM连接GPRS收不到数据

整了3天问题终于得到解决

1)项目需求:

ARMGPRS模块(型号为深圳市普众通信技术有限公司SIM300-EVB_V2.02)通过串口连接,实现ARM来控制GPRS模块,将数据发送至远程联网PC终端,即实现GPRS模块上网功能。这个功能的实现,需要ARMGPRS模块发送8AT指令,即:

1) 发送      AT+CPIN?                  // 查询模块是否有设置pin

收回响应      +CPIN: READY

              OK

   2)发送       AT+CSQ                    // 查询天线信号质量

收回响应       +CSQ: 16,0

OK

   3)发送       AT+CGREG?                 // 查询模块是否有注册网络

收回响应       +CGREG: 0,1

OK

   4)发送       AT+CGATT?                 // 查询模块是否附着GPRS网络

收回响应       +CGATT: 1

OK                        // 以上返回正常后在操作TCP/IP应用

   5)发送       AT+CSTT                   // 设置APN

  收回响应       OK

   6)发送       AT+CIICR                  // 激活移动场景

  收回响应       OK

   7)发送       AT+CIFSR                  // 获得本地IP地址

  收回响应    10.29.125.44

   8)发送       AT+CIPSTART="TCP","113.89.205.35",1985     // 建立TCP/IP连接

  收回响应    OK

              CONNECT OK

 这样就设置成功了,可以发送数据了,例如:AT+CIPSEND

> 123456

SEND OK

 这样发送过去,远程联网PC上面的SOCKET服务器端,可以接受到数据123456

  9)最后,发送 AT+CIPSHUT

       收回响应 SHUT OK

2)问题分析:

1)将AT命令通过ARM板子串口发送给GPRS但是却无法收到GPRS的正确回应,即不能正确的接受到OK

2)将ARM板子的调试串口和上位机主机后面的COM1连接,板子另外的一个COM0串口(COM2)和上位机COM3(我使用USB转换COM装置转出了一个COM3)连接,通过串口通信软件SecurCRT来控制板子,运行我编写的串口收发程序,可以发送AT命令给Windows系统的串口调试助手,串口调试助手可以显示发送过来的字符串AT,也可以通过串口调试助手给我的Windows系统串口通信软件SecurCRT发送字符串过来可以道道回应。但是这些只是测试只是模拟,当GPRS模块和ARM板子通过串口相连接时,串口通信软件SecurCRT却无法收到GPRS的回应。

3)首先,检查硬件(串口线或者usb转串等),都没有问题。

   其次,查找串口的参数配置或读串口数据的函数,没有问题。

  再次,直连线、交叉联系,ARMPC通讯都验证,结论是只要ARMGPRS

就收不到数据。

  最后,更换ARM开发板上的串口,问题终于得到结局。

3)解决方法:

ARM板子的调试串口和上位机主机后面的COM1连接,板子另外的一个COM1串口(COM3)和上位机COM3(我使用USB转换COM装置转出了一个COM3)连接。问题就得到解决。(即更换ARM开发板上的串口问题就得到解决)

4)原因分析:

   COM0RS232/RS485(带隔离) 3线

    COM2RS232/RS485(带隔离) 3线

    COM1RS232 5线

COM3RS232/TTL 3线

COM0COM2带有78485信号而不是流控信号(RTSCTS),故ARMGPRS连就收不到数据。

串口数据传输在大多数嵌入式设备中可使用最简单的异步串口的连接方式:3线串口。

COM13线串口,故ARMGPRS连就收到数据。

COM35线串口,带有7(RTS)8(CTS)两个流控信号,故ARMGPRS连也能收到数

据。

 (5) 反省:

    以后在串口编程时,一定要知道每个DCE模块的串口定义,配置好每个DCE模块的串口和开发板DTE串口之间的定义。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值