首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于GL865的LWiP PPPoS模块的STM32F7静态IP

基于GL865的LWiP PPPoS模块的STM32F7静态IP
EN

Stack Overflow用户
提问于 2018-05-08 13:10:08
回答 1查看 1.3K关注 0票数 0

我使用STM32F7与开发板核心-F746ZG。我已经激活了UART、LWIP中间件及其PPPoS支持。

我可以通过UART上的AT命令使STM32F7与GL865 GSM调制解调器进行通信,即使调制解调器建立其SIM卡的静态IP,并进行校验,一切正常。

但是,我希望LWiP PPPoS在发送ATD*99***1#之后建立静态IP而不是AT命令。

我对网络进行了深入的搜索,找不到包含LWiP PPPoS Server for STM32F与Telit GL865 GSM通信的特定示例。我见过这样的密码

代码语言:javascript
复制
sio_fd_t ppp_sio = sio_open(sio_idx);

但是,我无法将它们与STM32多维数据集函数关联起来。

我已经看到了使用pppInit(void)pppOverSerialOpen(PPP_SERIAL_PORT, linkStatusCB, &connected)函数的例子,但我猜当前堆栈不支持这些命令。

是否有人将STM多维数据集的uart处理与PPPoS of LWiP堆栈相关联?您是否有任何初始化大纲或建议开始并继续获取静态IP?(即INITDISCONNECTINGDISCONNECTEDCONNECTINGCONNECTEDLWIP循环)

亲切的问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-08 17:35:52

Sio是“串行IO”的接口层,由特定的端口(特定的平台)实现。一旦实现,TCP/IP协议栈将处理其他协议,包括PPP协商和配置(LCP/IPCP等),包括获取IP地址(自己的IP地址、网关、网络掩码、dns1、dns2)。因此,您所需要做的就是实现在UART上读写数据的低级函数。处理PPP的责任在TCP/IP堆栈的末端。

虽然我没有STM32的确切实现,但是自己实现应该很容易。它的实现方式可能(或不可能)取决于您自己的配置,例如您是否使用FreeRTOS,以及它的队列/互斥体来处理UART通信。关于所有组件在TCP/IP堆栈中与PPP的关系的总体描述,我在此给出了一个答案:STM32 LWIP PPPos implementation

当涉及到LwIP的sio层时,可以在下面找到一个很好的文档:http://lwip.wikia.com/wiki/PPP。在普通的lwip/src/include/lwip/sio.h头文件中也很好地描述了函数的行为。

在这里可以找到一个示例UNIX实现,如果您发现它有用的话:https://github.com/dreamcat4/lwip/blob/master/contrib/ports/unix/netif/sio.c

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50234451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档