在没有操作系统的嵌入式环境下使用sim900登录GPRS APN

在没有操作系统的嵌入式环境下使用sim900登录GPRS APN,gprs,ppp,apn,access-point-name,Gprs,Ppp,Apn,Access Point Name,我使用嵌入式微处理器与SIM900 GPRS调制解调器通信。sim900有一个嵌入式tcp/ip堆栈,但没有嵌入式PPP堆栈,我的嵌入式环境也没有这两个堆栈 对于其他设备,我遵循了以下步骤: at+cgdcont=“IP”,“internet” atd*99***1# 调用一个PPP函数,负责APN的登录(可能还有身份验证和LCP等) 调用了连接到远程服务器的TCP函数 但现在我必须自己做PPP部分。所以我找不到所有必要的信息。。。。谁能给我指出正确的方向吗 当我使用hyperterm查看ATD

我使用嵌入式微处理器与SIM900 GPRS调制解调器通信。sim900有一个嵌入式tcp/ip堆栈,但没有嵌入式PPP堆栈,我的嵌入式环境也没有这两个堆栈

对于其他设备,我遵循了以下步骤:

  • at+cgdcont=“IP”,“internet”
  • atd*99***1#
  • 调用一个PPP函数,负责APN的登录(可能还有身份验证和LCP等)
  • 调用了连接到远程服务器的TCP函数
  • 但现在我必须自己做PPP部分。所以我找不到所有必要的信息。。。。谁能给我指出正确的方向吗

    当我使用hyperterm查看ATD*99***1#时,它连接并返回许多PPP帧,我想我必须编写一个模块来处理这些帧。但我确实注意到,在许多网站上,根本没有提到登录APN,所以有没有办法绕过登录


    当我遵循SIM900文档中的示例时,我得到一个错误,指示(非常正确地)PDP已停用…

    我认为我最初的问题实际上是两个问题

    1) 使用GPRS模块的车载TCP功能时,是否需要编写APN登录模块? -这里的答案是否定的。模块会处理这个问题……请参阅cmd AT+cstt=“apn”,“user”,“pwd”


    2) 在哪里可以找到PPP堆栈的开源代码?…这仍然没有答案。

    我认为我最初的问题实际上是两个问题

    1) 使用GPRS模块的车载TCP功能时,是否需要编写APN登录模块? -这里的答案是否定的。模块会处理这个问题……请参阅cmd AT+cstt=“apn”,“user”,“pwd”


    2) 在哪里可以找到PPP堆栈的开源代码?…这一点仍然没有答案。

    1.4.1版本和一些旧版本的LWIP中有PPP的实现。但不确定它是否可以单独使用。您可能仍然能够将其与LWIP分离并使用它。

    1.4.1版本和一些旧版本的LWIP中有PPP的实现。但不确定它是否可以单独使用。您可能仍然能够将其与LWIP分离并使用它。

    您可以尝试使用CGACT=1,1手动激活PDP上下文,也可以使用AT+CGDATA=“PPP”,1手动将其切换到数据。我认为这些应该在您输入ATD*99***1时自动完成。但这可能取决于PPP堆栈的存在。是的……只要输入ATD*99***1,就可以假定我有自己的PPP和TCP堆栈。在过去的两天里,我做了一些研究:如果,另一方面,我使用了车载TCP功能..这将负责PPP、TCP和APN登录。所以我想我已经回答了我自己的问题!您可以尝试使用CGACT=1,1手动激活PDP上下文,也可以使用AT+CGDATA=“PPP”,1手动将其切换为数据。我认为这些应该在您输入ATD*99***1时自动完成。但这可能取决于PPP堆栈的存在。是的……只要输入ATD*99***1,就可以假定我有自己的PPP和TCP堆栈。在过去的两天里,我做了一些研究:如果,另一方面,我使用了车载TCP功能..这将负责PPP、TCP和APN登录。所以我想我已经回答了我自己的问题!你可以单独问这个问题,或者把它添加到你的问题中。你可以单独问这个问题,或者把它添加到你的问题中。