网站模板库
  • 首页
  • web前端工具
    • HTML/JS转换工具
    • JS/HTML格式化工具
    • 字母/英文大小写转换工具
    • robots.txt文件生成工具
    • Js压缩/格式化工具
    • Css在线压缩工具_代码格式化
  • 关于我们
    • 免责声明
    • 联系我们
    • 广告服务
    • 服务项目
    • 关于我们
    • 网站轮播
    • 公告
    • 成都优优科技专用
    • 按行业分类
  • web学院
    • 服务器教程
    • 学习资料
      • 基础书籍
      • 交互书籍
      • 入门教程
      • 特效分类
    • 案例分享
    • web资讯
  • 网页特效
    • 图片特效
    • 导航特效
    • 滑动按钮
    • 表单特效
    • 文字特效
    • 弹窗特效
    • 其他特效
  • 织梦模板
    • 科技/电子/数码/通信
    • 文化/艺术/广告/传媒
    • 装修/设计/家居/家具
    • 基建/施工/地产/物业
    • 餐饮/酒店/旅游/票务
    • 食品/果蔬/饮料/日用
    • 服饰/珠宝/礼品/玩具
    • 摄影/婚庆/家政/生活
    • 运动/健身/体育/器材
    • 学校/教育/培训/科研
    • 美容/保健/医院/医疗
    • 金融/财税/咨询/法律
    • 政府/组织/集团/协会
    • 汽车/物流/交通/搬运
    • 机械/设备/制造/仪器
    • 化工/环保/能源/材料
    • 农业/畜牧/养殖/宠物
    • 其他模版
    • IT/软件/信息/互联网
  • 手机模板
    • 手机APP模板
    • 微信小程序模板
    • wap
  • 网站模板
    • joomla模板
    • Drupal模板
    • z-blog模板
    • EyouCms模板
    • Bootstrap模板
    • 帝国cms模板
    • CmsEasy模板
    • MetInfo模板
    • 购物商城模板
      • Shopify主题
      • PrestaShop主题
    • 后台模板
    • 纯HTML模板
    • ecshop模板
    • phpwind模板
    • pbootcms模板
    • phpcms模板
    • wordpress模板
    • discuz模板
  • 教程
    • 织梦教程
    • Discuz教程
    • WordPress教程
    • Phpcms教程
    • Phpwind教程
    • ECShop教程
    • Joomla教程
    • Drupal教程
    • zblog教程
    • EyouCMS教程
    • 帝国cms教程
    • MetInfo教程
    • CmsEasy教程
登录
当前位置:网站模板库 > web学院 > 服务器教程 > 如何使用STM32CubeMX配置ETH
商业源码 服务器教程 2023-12-26 20:09:01

如何使用STM32CubeMX配置ETH

如何使用STM32CubeMX配置ETH,第1张

具体配置过程:

1、打开STM32CubeMX,并选择好相应的芯片。文中的芯片为STM32F207VCT6,选择后如下图:

2、配置RCC时钟、ETH、PA8以及使能LWIP;

由于此处我们的开发板硬件上为RMII方式,因此选择ETH-RMII,若有同志的开发板为MII方式,请参考MII的配置方法,此处只针对RMII;

RCC选择外部时钟源,另外勾选MCO1,软件会自动将PA8配置为MCO1模式,该引脚对于RMII方式很重要,用于为PHY芯片提供50MHz时钟;

使能LWIP;

3、时钟树的相关配置,必须保证MCO1输出为50Mhz,如果这个频率不对会导致PHY芯片无法工作;

我这里因为芯片为207VCT6,为了使MCO1输出为50Mhz,做了PLL倍频参数的一些调整,总体如下:(同志们配置时可根据自己的芯片灵活配置,但需保证MCO1的输出为50Mhz)

4、ETH、LWIP、RCC相关参数设置;

至此,比较重要的都在前面了,但是还有一点仍需要注意,即PA8引脚输出速度,几次不成功都是因为这个引脚没注意。

后续的参数设置可以根据同志们自己的需求分别设置,这里给出我的设置供参考;

ETH参数保持默认,但中断勾选一下;

LWIP参数设置如下:(因为我这里是配置UDP服务器,IP选择静态分配)

5、生成工程,做最后的函数修改;

给生成的工程添加UDP服务器的初始化以及端口绑定等相关函数;

我这里直接将之前的官方例程中的UDP服务器文件加进来,如下:

之后将c文件添加到用户程序,主函数添加Udp的h头文件;如下:(udp文件的具体内容在后面给出)

6、主函数还需要添加一下几个函数,在这里不对函数作用及实现原理讲解,仅做添加说明。

附:udp_echoserver相关文件内容(该文件为官方的示例程序,版权归官方,此处做转载)

udp_echoserverc的内容如下:

/ Includes ------------------------------------------------------------------/

#include "mainh"

#include "lwip/pbufh"

#include "lwip/udph"

#include "lwip/tcph"

#include <stringh>

#include <stdioh>

/ Private typedef -----------------------------------------------------------/

/ Private define ------------------------------------------------------------/

#define UDP_SERVER_PORT 7 / define the UDP local connection port /

#define UDP_CLIENT_PORT 7 / define the UDP remote connection port /

/ Private macro -------------------------------------------------------------/

/ Private variables ---------------------------------------------------------/

/ Private function prototypes -----------------------------------------------/

void udp_echoserver_receive_callback(void arg, struct udp_pcb upcb, struct pbuf p, const ip_addr_t addr, u16_t port);

/ Private functions ---------------------------------------------------------/

/

@brief Initialize the server application

@param None

@retval None

/

void udp_echoserver_init(void)

{

struct udp_pcb upcb;

err_t err;

/ Create a new UDP control block /

upcb = udp_new();

if (upcb)

{

/ Bind the upcb to the UDP_PORT port /

/ Using IP_ADDR_ANY allow the upcb to be used by any local interface /

err = udp_bind(upcb, IP_ADDR_ANY, UDP_SERVER_PORT);

if(err == ERR_OK)

{

/ Set a receive callback for the upcb /

udp_recv(upcb, udp_echoserver_receive_callback, NULL);

}

}

}

/

@brief This function is called when an UDP datagrm has been received on the port UDP_PORT

@param arg user supplied argument (udp_pcbrecv_arg)

@param pcb the udp_pcb which received data

@param p the packet buffer that was received

@param addr the remote IP address from which the packet was received

@param port the remote port from which the packet was received

@retval None

/

void udp_echoserver_receive_callback(void arg, struct udp_pcb upcb, struct pbuf p, const ip_addr_t addr, u16_t port)

{

/ Connect to the remote client /

udp_connect(upcb, addr, UDP_CLIENT_PORT);

/ Tell the client that we have accepted it /

udp_send(upcb, p);

/ free the UDP connection, so we can accept new clients /

udp_disconnect(upcb);

/ Free the p buffer /

pbuf_free(p);

}

udp_echoserverh的内容如下:

#ifndef __ECHO_H__

#define __ECHO_H__

void udp_echoserver_init(void);

#endif / __MINIMAL_ECHO_H /

7、至此,所有的工作完成,编译工程,下载至开发板。由于udp_echoserver中绑定的端口号为7,这里我们通过测试工具测试网络的功能,

其实SSI跟asp差别蛮大的,ssi只能是在shtml文件载入的时候,其中的ss标签被替换为其他内容,(何种标签替换为何种内容 是用户在LwIP协议中自定义的),而ASP、CGi是可以在html载入后动态调用的,他们才能实现完善的动态交互功能

至于如何入手,lwip的源码里面有详尽的英文注释,lz可以对着看看。

如果你想进行lwip 的CGI编程,建议你看看这么几个文件:httpdh httpdc httpd_cgi_ssic

我刚好是先学习了普通的PC机上搭建 IIS 服务器,学习html 、cgi、asp方面的知识,然后才接触lwip,然后在别人搭建好的嵌入式服务器上进行cgi编程,基本上手了。

硬件上的cgi编程更底层,而复杂,如果你难以入手,你可以在你的windows下搭建IIS服务器,熟悉一下cgi,再转stm32上实现

函数 芯片 文件 此处 时钟
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何使用STM32CubeMX配置ETH

商业源码 钻石

分享到:
上一篇
移动网络设置
下一篇
有哪些免费的在线CRM系统?

相关推荐

node本地项目发生依赖包因更新而不兼容导致项目启动错误解决记录

node本地项目发生依赖包因更新而不兼容导致项目启动错误解决记录

CPU使用进程太高怎么解决

CPU使用进程太高怎么解决

windows2008系统怎么查看ftp服务器

windows2008系统怎么查看ftp服务器

华为发布鲲鹏芯片架构(中国芯片新消息)

华为发布鲲鹏芯片架构(中国芯片新消息)

0条评论

发表评论 取消回复

要发表评论,您必须先登录。

提供最优质的资源集合

立即查看 了解详情
网站模板库

主题/付费下载/查看/余额管理/自定义积分,集成支付,卡密,推广奖励等。

本站导航
  • 链接标题
友情链接
  • 链接标题
快速搜索
本站由钛宇宙强力驱动
友情链接:
    商业源码网蜀ICP备2023005044号
    网站模板库
    • 登录
    • 注册
    网站模板库
    • 首页
    • web前端工具►
      • HTML/JS转换工具
      • JS/HTML格式化工具
      • 字母/英文大小写转换工具
      • robots.txt文件生成工具
      • Js压缩/格式化工具
      • Css在线压缩工具_代码格式化
    • 关于我们►
      • 免责声明
      • 联系我们
      • 广告服务
      • 服务项目
      • 关于我们
      • 网站轮播
      • 公告
      • 成都优优科技专用
      • 按行业分类
    • web学院►
      • 服务器教程
      • 学习资料►
        • 基础书籍
        • 交互书籍
        • 入门教程
        • 特效分类
      • 案例分享
      • web资讯
    • 网页特效►
      • 图片特效
      • 导航特效
      • 滑动按钮
      • 表单特效
      • 文字特效
      • 弹窗特效
      • 其他特效
    • 织梦模板►
      • 科技/电子/数码/通信
      • 文化/艺术/广告/传媒
      • 装修/设计/家居/家具
      • 基建/施工/地产/物业
      • 餐饮/酒店/旅游/票务
      • 食品/果蔬/饮料/日用
      • 服饰/珠宝/礼品/玩具
      • 摄影/婚庆/家政/生活
      • 运动/健身/体育/器材
      • 学校/教育/培训/科研
      • 美容/保健/医院/医疗
      • 金融/财税/咨询/法律
      • 政府/组织/集团/协会
      • 汽车/物流/交通/搬运
      • 机械/设备/制造/仪器
      • 化工/环保/能源/材料
      • 农业/畜牧/养殖/宠物
      • 其他模版
      • IT/软件/信息/互联网
    • 手机模板►
      • 手机APP模板
      • 微信小程序模板
      • wap
    • 网站模板►
      • joomla模板
      • Drupal模板
      • z-blog模板
      • EyouCms模板
      • Bootstrap模板
      • 帝国cms模板
      • CmsEasy模板
      • MetInfo模板
      • 购物商城模板►
        • Shopify主题
        • PrestaShop主题
      • 后台模板
      • 纯HTML模板
      • ecshop模板
      • phpwind模板
      • pbootcms模板
      • phpcms模板
      • wordpress模板
      • discuz模板
    • 教程►
      • 织梦教程
      • Discuz教程
      • WordPress教程
      • Phpcms教程
      • Phpwind教程
      • ECShop教程
      • Joomla教程
      • Drupal教程
      • zblog教程
      • EyouCMS教程
      • 帝国cms教程
      • MetInfo教程
      • CmsEasy教程

      弹窗标题

      这是一条网站公告,可在后台开启或关闭,可自定义背景颜色,标题,内容,用户首次打开关闭后不再重复弹出,此处可使用html标签...