雅特力 AT32F437 配置RT-Thread LWIP实现 UDP/TCP 通信

好记性不如烂笔头,既然不够聪明,就乖乖的做笔记,温故而知新。

本文档用于本人对知识点的梳理和记录。

雅特力 AT32F437 配置RT-Thread 以太网(UDP/TCP Server)


目录

        一、前言

        二、ENV配置

        三、结语


一、前言

ENV版本:v1.3.5

rt-thread版本:V5+

开发板:雅特力AT32F437 AT-START-F437


二、ENV配置

ENV工具输入“menuconfig”,回车后进入配置页面

1、打开硬件Ethernet,并选择PHY,开发板板载DM9162

a0cb9d4c274c4c64b09fe964f35146dd.png

2、打开 SAL层,并打开"Enable network interface device"

463a467b186547919499406804c25385.png

3、打开相应的TCP/UDP应用

 -> RT-Thread online packages
     -> miscellaneous packages
        -> samples: kernel and components samples
           -> a network_samples package for rt-thread

4f6c3f2d32b24ad4b45cad664cba59b0.png

4、保存退出配置页面

5、在 Env 命令行中输入 pkgs --update 下载软件包;

6、在 Env 命令行中输入 scons --target=mdk5 -s 生成 mdk5 工程。

3c8a7da047f748bab6a48f56d956f5e1.png

7、打开新生成的工程,并编译,此时会发现报错如下图

packages\tcpserver-latest\tcpserver.c(239): error:  #20: identifier "EINTR" is undefined
              if (!(recv_size == EINTR || recv_size == EWOULDBLOCK || recv_size == EAGAIN))
packages\tcpserver-latest\tcpserver.c(239): error:  #20: identifier "EWOULDBLOCK" is undefined
              if (!(recv_size == EINTR || recv_size == EWOULDBLOCK || recv_size == EAGAIN))
packages\tcpserver-latest\tcpserver.c(239): error:  #20: identifier "EAGAIN" is undefined
              if (!(recv_size == EINTR || recv_size == EWOULDBLOCK || recv_size == EAGAIN))
packages\tcpserver-latest\tcpserver.c: 0 warnings, 3 errors

cbda6a36d0d547b3b7f993431f80aaa8.png

8、在 tcpserver.c 添加头文件 

#include "tcpserver.h"
#include <sys/ioctl.h>
#include <sys/errno.h>

#define DBG_TAG    "tcpserv"
#ifdef  PKG_TCPSERVER_DEBUG
#define DBG_LVL    DBG_LOG
#else
#define DBG_LVL    DBG_INFO
#endif
#include <rtdbg.h>

9、编译通过,并下载到开发板中运行,msh中输入 help 可以看到新增了一些指令

f5ef5c7936b74555b2ee72dc3831769e.png

10、测试UDP server,默认打开了端口5000,收到PC的数据包

b01cc4dd8aac4a5494ac425b16df9e36.png


 三、结语

对新手来说,保姆级教程比较难的,有问题可以留言或者发邮件到:495323976@qq.com讨论

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色HS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值