stm32f407+rtthread 使用 ec20 ppp拨号

  • 开发环境
  • 一、工程创建
  • 二、模块添加
  • 三、参数配置
  • 四、测试

开发环境

IDE: RT-Thread Studio
操作系统: rt-thread-4.0.2
芯片型号: STM32F407VG
控制台端口: Uart1 (TX: PB6, RX:PB7)
EC20端口: Uart2 (TX: PA2, RX: PA3), 电源控制引脚 PA5

一、工程创建

新建 RT-Thread 项目,点下一步

在新窗口中进行项目配置:

  • 输入工程名称
  • 选择基于芯片
  • 系统版本选择 4.0.2
  • 芯片类型选择 STM32F407VG
  • 控制台串口选择 UART1 发送脚 PB6 接收脚 PB7
  • 调试器 J-Link 接口SWD

点完成

二、模块添加

双击 RT-Thread Settings 进入软件包中心

点更多配置

点组件,修改串口缓冲区大小

还是组件选项卡下滑,POSIX层与C标准库按图片勾选,不勾选后续添加ppp组件编译报错

切换为软件包选项卡,找到 ppp device

勾选以后按图示配置

点选回组件选项卡,发现 lwip 已默认开启,修改线程栈大小2048或以上,否则ppp组件编译报错。

点选示例,network_samples->tcp client

配置完成后ctrl + s保存配置,ide将自动更新代码到工程中。 随后点击项目名称,点小锤子编译。(会报错,下一节解决)

三、参数配置

点开编译报错位置 ppp_device_ec20.c 第28行

  • 注释掉 #include <drv_gpio.h>
  • 修改 EC20_POWER_PIN 引脚编号 为 5(具体引脚对应编号可查看 drivers/drv_gpio.c 文件中的结构体定义,下附图)
  • 修改 EC20_WARTING_TIME_BASE 为 10000 (时长可根据后续自己测试不断优化,默认2000太短拨号入网容易失败)


    修改完成后再编译一次,错误消失

    下面配置串口,双击 drivers/board.h 打开,第70行开始添加内容:

    添加完成后,删除 main.c中的打印函数,不删会烦。

    保存,编译,j-link连接板子,插入sim卡,意念连接控制台打印端口串口1,点甲壳虫debug。

四、测试

观察串口工具打印结果如下图所示,就算配置成功

程序会停在main函数,继续运行

等待一段事件后看到串口打印如下信息,入网成功

串口输入 ping baidu.com\r\n 测试一下网络

输入 tcpclient ip port\r\n 建立tcp连接

连接建立完成。

应用层详细使用方式示例参见packages/network_samples/tcpclient_sample.c

本文完。

stm32f407+rtthread 使用 ec20 ppp拨号相关推荐

  1. 第三节 树莓派EC20之PPP拨号上网

    EC20 ppp拨号上网步骤 1. 准备工作 2.安装软件 3.上网测试 树莓派内核现在已集成了EC20的驱动,不需要再去进行驱动移植,虽然没有MiniPcie的接口,但用usb转minipcie也是 ...

  2. NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号

    NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号 1. EC20模块连接 2. Linux内核配置 3. 交叉编译PPP 4. 拨号脚本 5. 进行拨号 1. EC20模块连接 在 ...

  3. 【嵌入式linux】使用4G模块EC20自适应运营商和ppp拨号上网

    准备:移植好pppd软件工具(可见下面的参考文章).ppp拨号脚本.能上网的SIM卡.使能复位好EC20模块.串口初始化.读写的接口(因为CPU的USB接口给占用了,因此这里使用串口与模块通信) 识别 ...

  4. 实现4G模块EC20在树莓派系统下的PPP拨号上网

    目录 PPP协议 PPP通信建立 PPP认证方式 ppp协议栈 pppd数据传输 Pppd 控制协议数据流程 Linux中的PPP实现 安装PPP 方法一:源码安装 方法二: 直接安装 PPP拨号上网 ...

  5. 移植移远4G模块EC20过程记录2-QMI+PPP拨号上网

    目录 1.背景 2.移植QMI_WWAN驱动 2.1 准备源码 2.2 修改源码 2.3 make 2.4 安装 2.5 编译cdc_wdm 2.6 再次安装 2.7 验证QMI驱动 3.ppp拨号 ...

  6. Linux系统下使用4G模块EC20实现拨号上网

    驱动的实现过程 实现4G功能分为两步,第一步内核能成功识别出该设备,第二步实现拨号上网.最后提一下自带的定位功能 一.添加内核USB驱动 这里直接使用内核已经存在的USB驱动,只需要让内核能识别出该U ...

  7. ec200t 拨号_Quectel EC200T驱动以及ppp拨号移植

    一.EC200T驱动移植 1.添加usb-serial-option usb串口驱动 1.1 修改drivers/usb/serial/option.c staticconststructusb_de ...

  8. 第五节 树莓派EC20自动拨号脚本编写

    树莓派EC20拨号脚本 1. ppp拨号脚本 2. qmi_wwan拨号脚本 3. 注意说明 1. ppp拨号脚本 拨号脚本比较简单,主要是拨号和重连,主要分为以下步骤 先用 lsusb 检查驱动 l ...

  9. linux网卡EC20型号,Linux系统下使用4G模块EC20实现拨号上网

    驱动的实现过程 实现4G功能分为两步,第一步内核能成功识别出该设备,第二步实现拨号上网.最后提一下自带的定位功能 一.添加内核USB驱动 这里直接使用内核已经存在的USB驱动,只需要让内核能识别出该U ...

  10. 在ARM-linux上实现4G模块PPP拨号上网

    搞了3.4天4G模块,从毫无头绪到可以ping通外网,着实不轻松.用的是一不知名品牌EC20, 技术支持很少,资料很乱,然后自己搜集资料,一步一步调试,才搞通. 环境: ubuntu12.04.02 ...

最新文章

  1. 百度SLG拿下前锤子科技CTO钱晨,还要合并小鱼在家? | 极客头条
  2. Ch2,KNN分类算法程序分析----机器学习实践P19页
  3. 控制文件的多路复用技术
  4. 8Manage CRM:智能时代会员“赢”销之宝
  5. 11g rac生产环境异机恢复报错RMAN-6013
  6. 晨风机器人怎么买奴隶_潮牌复刻和正品该怎么抉择???带你了解了解
  7. 【LA3415 训练指南】保守的老师 【二分图最大独立集,最小割】
  8. php json to object,PHP JSON_FORCE_OBJECT函数实现强转对象
  9. linux 修改ldap密码,centos – ldap强制用户更改密码
  10. python调用库实现返回ping的时延_python在windows下实现ping操作并接收返回信息
  11. 爬虫----Scrapy框架
  12. 究竟是什么?让程序员们怒了
  13. 关于Tortoise git汉化包装了,不管用,仍然是英文菜单的问题记录
  14. 图像处理4:最大类间方差法(大津法)
  15. OpenCV对图像像素尺寸的设置
  16. CentOS 7 安装 Weadmin(ITOSS)
  17. 如何在自己行业内放大和增加收入
  18. win2003服务器安全设置技术实例(二)
  19. RocketMQ 集群踩坑记
  20. Spring Cloud Alibaba搭建(二):Nacos注册中心

热门文章

  1. 08CMS之标识还原
  2. [CATARC_2017] 第一周
  3. word导入excel html,如何将word导入excel
  4. 对称与非对称加密算法总结
  5. 2014年上半年系统集成项目管理工程师真题解析(上午+下午)
  6. 获取服务器的视频文件夹,视频从云服务器获取视频文件夹
  7. SecureCRT 破解版v7.1.1.264中文汉化绿色版
  8. Linux网络的网络配置(超详细,百分百成功)
  9. java mina 服务端_mina 框架java服务端的搭建和通信。
  10. Allegro PCB gerber文件输出 + ODB++文件输出