嵌入式GPS由GPRS接入Internet的实现
[11-20 17:13:22] 来源:http://www.88dzw.com 嵌入式系统 阅读:8681次
文章摘要:3.1.1 uip与PPP的接口 当PPP协议从网络接收到一个IP包时,把它放入到uip_buf中,系统调用uip_input()函数。此函数将处理这个包,在需要时会调用应用程序。当uip_input()返回时,uip_buf中放入了一个输出包,包的大小由全局变量uip_len约束,若uip_len为0,则说明没有包要发送,否则,PPP将此包加上PPP包头发送到网上。3.1.2 uip与应用的接口uip使用基于事件的编程模式,在响应一定的事件时,应用被当作uip调用的一个C函数UIP_APPCALL来实现,故在应用中要设置#define UIP_APPCALL appcomm,在uip中的标志
嵌入式GPS由GPRS接入Internet的实现,标签:嵌入式系统开发,嵌入式开发,http://www.88dzw.com3.1.1 uip与PPP的接口
当PPP协议从网络接收到一个IP包时,把它放入到uip_buf中,系统调用uip_input()函数。此函数将处理这个包,在需要时会调用应用程序。当uip_input()返回时,uip_buf中放入了一个输出包,包的大小由全局变量uip_len约束,若uip_len为0,则说明没有包要发送,否则,PPP将此包加上PPP包头发送到网上。
3.1.2 uip与应用的接口
uip使用基于事件的编程模式,在响应一定的事件时,应用被当作uip调用的一个C函数UIP_APPCALL来实现,故在应用中要设置#define UIP_APPCALL appcomm,在uip中的标志uip_flags用于uip与应用之间的联系,在接收到数据、数据发送成功、建立了新的连接或数据被重发时,uip调用应用,应用根据uip_flags标志进行相应的处理。
3.2 PPP协议的实现
PPP是运行在硬件接口之上的,它提供LCP、PAP和IPCP协商所需要的合适的机制。这些协商由被PPPEntery()函数调用的固定的状态机执行,它基于接受到的内容建立响应。而PPPReceived()函数,对接收到的每个字节进行转义处理,当一个完整的PPP帧准备好要处理时,PPPReceived()设置整帧标示Isframe,此标志在应用主循环中被PPPEntery()函数轮询。PPP包格式如图1所示:
图1 PPP包格式
3.3 GPRS Modem命令及串口读写
3.3.1 GPRS Modem 命令
若想通过GPRS Modem拨号上网,建立PPP连接,就必须先对其进行配置,本系统中设置上网用到的主要的AT命令有一下两个:
1.transmit(AT+CGDCONT=1,IP,CMNET n,25); 传送此命令到GPRS Modem,以设置中国移动GPRS节点服务器的APN名称和属性,如果设置成功则返回“OK”,出错返回“ERROR”。其中“CMNET”是登陆GPRS网的缺省APN.
2.transmit(ATD*99***1#rn,13);此命令拨通中国移动的GPRS节点服务器,如果设置成功,则返回“CONNECT”,出错返回“ERROR”。程序可以根据返回值做相应处理。
3.3.2 串口读写API
GPS多任务实时操作系统中提供了对串口读写的API函数,本系统在用户初始化时采用信号触发方式来读取串口,具体的串口API的应用如下所述:
1. 打开串口
PORT __y * _pUserPort; //其中_pUserPort为定义的串口变量
_pUserPort = (PORT __y *)UART_Open(¶mcom);
if (_pUserPort)
{
PORT_SignalWhenDataAvailable(_pUserPort, 1, ISYS_ThisTaskId());
《嵌入式GPS由GPRS接入Internet的实现》相关文章
- › 嵌入式GPS由GPRS接入Internet的实现
- 在百度中搜索相关文章:嵌入式GPS由GPRS接入Internet的实现
- 在谷歌中搜索相关文章:嵌入式GPS由GPRS接入Internet的实现
- 在soso中搜索相关文章:嵌入式GPS由GPRS接入Internet的实现
- 在搜狗中搜索相关文章:嵌入式GPS由GPRS接入Internet的实现