stm32cubeMX配置LWIP
MCU:stm32f769NIHx
PHY:LAN8742A
LWIP_VERSION:2.0.3
1.配置RCC,串口(printf debug log)
(1)开启RCC,配置时钟系统

图1.1
(2)时钟树配置如下图所示
图1.2
(3)串口1配置基本参数

图1.3
/* 小技巧 */ 在工程里我们平时会用到printf打印debug信息,如果产品发布的时候,这些打印信息就要注释掉,为了方便管理,我们会对prinf再次封装并用宏去控制开启和关闭debug_log /* printf重定向 不用标准库 减少代码量 */
#if 1
#pragma import(__use_no_semihosting) int _ttywrch(int ch)
{
ch=ch;
return ch;
} struct __FILE
{
int handle;
}; FILE __stdout; void _sys_exit(int x)
{
x = x;
}
//重定义fputc函数
int fputc(int ch, FILE *f)
{
while((USART1->ISR&0X40)==);//循环发送,直到发送完毕
USART1->TDR = (u8) ch;
return ch;
}
#endif /* 宏控制 debug log */ #ifdef MY_DEBUG
#define debug(format, ...) printf(format, ##__VA_ARGS__)
#else
#define DEBUG(format,...)
#endif
2.ETH配置参数
·
图1.4
(1)PHY前16个寄存器是通用的标准的,所以都一样。第31个寄存器是比较重要,可以读取这个寄存器获取通讯速度和是否处在自协商模式

图1.5
通讯(2)模式为RMII:关于RMII和MII的区别,详情请看https://blog.csdn.net/fun_tion/article/details/70270632

图1.6
(3)LWIP参数配置,应为没有路由器,直接用网线和电脑相连,所以只能使用敬爱IP不能使用DHCP ,ICMP功能需要打开,因为这个功能是用来ping消息的。UDP和TCP也关掉了,目前还没有用到,,其他参数默认,在主函数循环中循环调用MX_LWIP_Process();包括轮训接收信息和一些LWIP协议栈需要定时调用的函数

图1.7
stm32cubeMX配置LWIP的更多相关文章
- 《STM32CubeMX配置STM32H743XI工程》第一讲《初始化UART,重定义printf函数,点亮一个LED灯》
1.打开STM32CubeMX软件->新建一个工程(软件自行到ST官网下载安装) 2.输入对应的芯片型号(本次基于野火STM32H743XI Pro 开发板)点击Start Project生成项 ...
- STM32CubeMx配置USART注意的一个问题
HAL_UART_Receive_IT(&huart1, (uint8_t *)aRxBuffer, Number);意思是接收到Number个字节后,触发HAL_UART_RxCpltCal ...
- STM32CubeMx配置正交编码器遇到的问题
配置时参考了这个哥们的方法: http://www.eemaker.com/stm32cubemx-encoder.html 然后我的配置是这样的 配置是没有问题. 调用时出现了问题. 由于配置完了, ...
- STM32CubeMx配置SPI注意的一个问题
这样配置SPI引脚 然后这样配置SPI参数 生成立这样的配置代码 /* SPI2 init function */static void MX_SPI2_Init(void){ /* SPI2 par ...
- stm32+lwip(一):使用STM32CubeMX生成项目
我是卓波,很高兴你来看我的博客. 系列文章: stm32+lwip(一):使用STM32CubeMX生成项目 stm32+lwip(二):UDP测试 stm32+lwip(三):TCP测试 stm32 ...
- stm32CubeMx lwip + freeRTOS
MCU: STM32F429IGT6 工具:STM32CubeMx 版本号 5.0.0 Keil uVersion5 目的:使用LWIP 实现简单的网络连通 一 简介 LWIP(Light Wei ...
- STM32CubeMX新建工程+基本IO配置过程
Ⅰ.写在前面 学习本文之前可以查看我前面的文章: STM32CubeMX介绍.下载与安装 STM32CubeMX使用方法及功能介绍 本文接着上一篇文章结合基本IO配置实例,讲述关于STM32CubeM ...
- STM32CubeMX的使用
1.STM32CubeMX简介 STM32CubeMx软件是ST公司为STM32系列单片机快速建立工程,并快速初始化使用到的外设.GPIO等,大大缩短了我们的开发时间.同时,软件不仅能配置STM32外 ...
- 关于STM32CubeMX使用LL库设置PWM输出
HAL和LL库 HAL是ST为了实现代码在ST家族的MCU上的移植性,推出的一个库,称为硬件抽象层,很明显,这样做将会牺牲存储资源,所以项目最后的代码比较冗余,且运行效率大大降低,运行速度受制于fla ...
随机推荐
- 纯css耍个透明正方体转一转
效果 效果图如下 实现思路 定义一个最外层的容器,用来控制显示的位置 定义一个父容器,用来设置元素被查看位置的视图,这里使用到CSS3的perspective 属性 定义子容器,设置为相对定位,利 ...
- TLC5615
#include <reg51.h> #include "TLC5615.c" code uchar seven_seg[] = {0xc0, 0xf9, 0xa4, ...
- Python3.7.4入门-0/1To Begin/数据类型与结构
0 To Begin //:向下取整除法 **:乘方 在交互模式下,上一次打印出来的表达式被赋值给变量 _ 如果不希望前置了 \ 的字符转义成特殊字符,可以使用 原始字符串 方式,在引号前添加 r 即 ...
- Python必备收藏!Pycharm 常用快捷键思维导图!
本内容首发公众号[计算机视觉联盟],关注获取更多资料! 考虑到可能图片压缩,将思维导图的pdf和jpg版本都上传了百度云,大家可以下载打印一张A4纸,方便查询! 公众号后台回复关键词: 2019082 ...
- kubernetes实战(二十六):kubeadm 安装 高可用 k8s v1.16.x dashboard 2.x
1.基本配置 基本配置.内核升级.基本服务安装参考https://www.cnblogs.com/dukuan/p/10278637.html,或者参考<再也不踩坑的Kubernetes实战指南 ...
- selenium-03-01截图函数
UI自动化测试执行过程中,当遇到检查失败的情况,往往会发现打印的log并不能有效地帮助我们定位问题.我们需要失败时刻的屏幕截图来重现当时的失败场景,进而排查出错原因. 基于这种需求可以使用Sele ...
- java Swing 界面化查询数据库表
两天从0基础写的.没有按钮对话框功能,只是简单的实现. 当然代码上有很多需要优化的,基本需要重写哈哈哈.但是我怕以后有需要所以还是存一下好了.<把RS结果集,放vector里面,用vector构 ...
- element-ui入门
element-ui入门 element-ui是一个ui库,它不依赖于vue.但是却是当前和vue配合做项目开发的一个比较好的ui框架. Layout布局(el-row.el-col) element ...
- opencv边缘检测-拉普拉斯算子
sobel算子一文说了,索贝尔算子是模拟一阶求导,导数越大的地方说明变换越剧烈,越有可能是边缘. 那如果继续对f'(t)求导呢? 可以发现"边缘处"的二阶导数=0. 我们可以利用这 ...
- git clone 解决Permission Denied (publickey)问题
本地git bash 使用git clone git@github.com:***.git方式下载github代码至本地时需要依赖ssh key,遇到权限不足问题时一般都是SSH key失效或者SSH ...