f4 stm32 神经网络_在STM32F429上应用网络功能

在 STM32F407 上应用网络功能

摘要

本文描述了如何在 RT-Thread 中利用标准 BSD Socket API 来开发网络应用。并给出了在正点原子 STM32F4 探索者开发板上运行 NTP(通过网络获取时间)和 MQTT(通过 MQTT 收发数据) 的代码示例。

简介

越来越多的单片机需要接入以太网来收发数据,市面上也有非常多的接入方案,可以用单片机加自带硬件协议栈的 PHY 芯片来接入网络,也可以单片机跑软件协议栈加 PHY 芯片来接入网络,不同的接入方案需要调用不同的 API,降低了上层应用的可移植性。

为了方便用户开发网络应用,RT-Thread 中引入了网络框架。并提供标准 BSD Socket API 用于开发网络应用,同时,RT-Thread 还提供了数量丰富的网络组件包,方便用户快速开发自己的应用。

本文准备资料如下:

一块能上网的开发板, 这里以正点原子 STM32F4 探索者开发板为例

移植好网络底层驱动,驱动移植可以参考 网络协议栈驱动移植笔记

网络调试工具

主要调试命令

这里介绍下 RT-Thread 提供的三个网络信息查看命令,在 shell 中输入命令即可很方便的查看网络连接状况,方便用户进行调试。

ifconfig

ifconfig 可以打印出板子现在的网络连接状态,IP 地址,网关地址,dns 等信息。

netstate

netstate 可以打印出板子所有的 TCP / IP 连接信息

dns

dns 命令可以打印出现在使用的 dns 服务器地址。

dns [dns_num] 命令可以手动设置 dns 服务器地址。

硬件连接准备

工程默认启用了 DHCP 功能,需要有 DHCP 服务器来分配 IP 地址,常见的连接拓展如图:

注:如果没有方便的实际环境,也可以先通过 ENV 配置固定 IP,然后用网线直接连接到调试用的电脑。电脑和开发板需要设置同网段的 IP 地址。配置静态 IP 如下:

-> RT-Thread Components

-> Network

-> light weight TCP/IP stack

-> Enable lwIP stack

-> Static IPv4 Address

ENV 配置

RT-Thread 可以很方便的通过 ENV 来配置和生成工程

打开板载外设 ethernet,选中之后, LWIP 也将自动被开启:

打开 SAL 层,并打开 BSD socket:

此时 net device 也将自动被打开:

文件系统也将自动被打开(fd 的管理在文件系统中,所以需要文件系统):

基础应用:tcp client,udp client。在软件包中开启基础示例代码 tcp client 与 udp client。

-> RT-Thread online packages

-> miscellane

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值