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

【极海APM32F407IG Tiny Board开发板测评】TCP client & TCP server

[复制链接]
963|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forgot|  楼主 | 2023-7-27 10:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 forgot 于 2023-7-27 11:38 编辑

        首先很高兴通过这次申请,江苏的代理商还大老远来我们公司做了一次当面沟通,便于后续做进一步的技术支持和采购合作。其实我拿到板子已经挺长时间了,因为对APM32片子已经比较熟悉了,这次主要是测试一下F407以太网TCP功能模块的应用。

硬件环境搭建:

        先是下载了APM32F407-Tiny\APM32F4xx_SDK_v1.3,在Examples\ETH下面是有ETH_Ping和ETH_TCP_client两份Demo,例程可以实现PA9,PA10串口进行网络参数打印,所以将串口也接到PC上。

        但是APM32F4xx_SDK_v1.3中并没有看到ETH_TCP_server例程,所以就到APM32F4xx_EVAL_SDK_V1.0\Examples\ETH\ETH_TCP_server中复制了相关内容过来,稍微改了一下。

PING测试:

TCP客户端实验:
电脑IP地址为:192.168.2.101;
板子IP配置为:192.168.2.88;
以PC机作为服务端,监听6000端口。
通过运行效果如下:
        if ((APM_TINY_PBGetState(BUTTON_KEY1)==0)&&(flag==0)) {
            APM_TINY_LEDOn(LED2);
            if (EthLinkStatus == 0) {
                /** connect to tcp server */
                printf("\n\rConnect TCP server \r\n");
                IP4_ADDR( &DestIPaddr, COMP_IP_ADDR0, COMP_IP_ADDR1, COMP_IP_ADDR2, COMP_IP_ADDR3 );
                tcpc_echo_init(&DestIPaddr,COMP_PORT);
                flag=1;
            }
        }
        if ((APM_TINY_PBGetState(BUTTON_KEY2)==0)&&(flag==1)) {
            APM_TINY_LEDOff(LED2);
            printf("\n\rDisconnect TCP server \r\n");
            tcpc_echo_disable();
            flag=0;
        }
复位后,串口打印网卡参数信息;
通过按钮KEY1,实现TCP连接。
用服务发送bbs.21ic.com,串口也会打印:received message:bbs.21ic.com
通过按钮KEY2,实现TCP断开。


TCP服务端实验:
电脑IP地址为:192.168.2.101;
板子IP配置为:192.168.2.88;
以板子机作为服务端,监听5000端口。
通过运行效果如下:
        if ((APM_TINY_PBGetState(BUTTON_KEY1)==0)&&(flag==0)) {
            APM_TINY_LEDOn(LED2);
            if (EthLinkStatus == 0) {
                /** create tcp server */
                printf("\n\rcreate TCP server IP: %d.%d.%d.%d:%d\n",
                       IP_ADDR0,IP_ADDR1,IP_ADDR2,IP_ADDR3,LOCAL_SERVER_PORT);
                tcps_echo_init(LOCAL_SERVER_PORT);
                flag=1;
            }
        }
        if ((APM_TINY_PBGetState(BUTTON_KEY2)==0)&&(flag==1)) {
            APM_TINY_LEDOff(LED2);
            printf("\n\rclose TCP server\n");
            tcps_echo_disable();
            flag=0;
        }
复位后,串口打印网卡参数信息;
通过按钮KEY1,实现TCP服务创建。
用服务发送geehy.com,串口也会打印:received message:geehy.com
通过按钮KEY2,关闭TCP服务。

        因为用的是lwip协议栈,所以UDP的相关操作也比较简单,用lwip相关函数就好了。
        提点意见就是demo中相关网络的应用例程太少了,并没有一些厂家那样做类似WebServer、MQTT、DNS之类的应用,连UDP都没看到。如果可以进行补充,这样对于新手会友好一点。

        最后也祝极海MCU越做越好!

使用特权

评论回复

打赏榜单

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

沙发
再见十分钟| | 2023-7-27 11:04 | 只看该作者
点个赞!

使用特权

评论回复
板凳
happypcb| | 2023-7-27 11:07 | 只看该作者
学习一下

使用特权

评论回复
地板
leslietian| | 2023-9-20 08:21 | 只看该作者
这个板子的demo关于网络这块确实有点少,不过可以参考其他几个芯片的demo,都一样的

使用特权

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

本版积分规则

1721

主题

12984

帖子

54

粉丝