发新帖本帖赏金 20.00元(功能说明)我要提问
返回列表
打印
[APM32F4]

【极海APM32F407IG Tiny Board开发板测评】FreeRtos + Lwip TCP服务器测试

[复制链接]
1098|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近正好一个项目要使用到网口,于是就申请了这个开发板,自带网口的,方便前期测试一下,调试还是挺顺利的。
先来看看硬件图纸,网口用到的引脚有下面这些
使用的是RMII方式,LAN8720也只支持这种方式,复位引脚是和MCU的复位连接到一起的,不使用单独的MCU引脚控制,下面进行程序的引脚初始化。

首先编写了一个函数,把所有的外设时钟都在这里初始化了,这个是个人习惯。

和网口引脚有关的是GPIOA,C,G三个端口时钟,还有网络外设的功能时钟要打开,用到的控制引脚申明,这样方便移植
网络引脚设置 RMII接口
* ETH_MDIO -------------------------> PA2
* ETH_MDC --------------------------> PC1
* ETH_RMII_REF_CLK------------------> PA1
* ETH_RMII_CRS_DV ------------------> PA7
* ETH_RMII_RXD0 --------------------> PC4
* ETH_RMII_RXD1 --------------------> PC5
* ETH_RMII_TX_EN -------------------> PG11
* ETH_RMII_TXD0 --------------------> PG13
* ETH_RMII_TXD1 --------------------> PG14

引脚初始化
引脚初始化就完成了
程序的大概流程:
启动--->系统初始化--->网络测试函数--->建立个FREERTOS任务--->lwip初始化使用DHIP方式--->网口芯片初始化--->等待DHIP分配网址--->网络初始化完成后建立一个队列,用于网络数据的接收传递给数据处理任务,然后建立一个TCP服务器的任务,网络数据处理任务,LED闪灯任务这3个任务。
TCP服务器任务就是建立一个TCP块,然后绑定端口,进行端口监听数据,然后等待连接请求,接收数据处理,把数据发送给队列。
网络数据处理任务就是等待队列数据有效,然后判断数据的第一个字节是不是“1”,是的话就回一串数据给客户端。

Main里网络测试函数

网络初始化任务

网络初始化完成后建立3个任务,TCP服务器的任务,网络数据处理任务,LED闪灯任务这3个任务

TCP服务器任务具体内容

数据处理任务
测试效果
MCU收到第一个字符是1的话才回一个字符串,不是1的话不回信息


3.png (46.11 KB )

3.png

使用特权

评论回复

打赏榜单

Gfan 打赏了 20.00 元 2023-08-17
理由:APM32F407IG Tiny Board精选测评

沙发
feixue707321006| | 2024-1-2 22:12 | 只看该作者
贴主,tcp&lwip&rtos有源码吗??

使用特权

评论回复
发新帖 本帖赏金 20.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

1263

帖子

5

粉丝