博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
stm32cubeMX配置LWIP
阅读量:4936 次
发布时间:2019-06-11

本文共 1096 字,大约阅读时间需要 3 分钟。

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)==0);//循环发送,直到发送完毕   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

转载于:https://www.cnblogs.com/st-home/p/10896298.html

你可能感兴趣的文章
IntelliJ IDEA完美解决tomcat8+乱码问题
查看>>
GDI+ ColorMatrix的完全揭秘
查看>>
破解电信光猫华为HG8120C关闭路由功能方法
查看>>
在Qt示例项目的C ++ / QML源中的//! [0]的含义是什么?
查看>>
【智能家居篇】wifi网络接入原理(上)——扫描Scanning
查看>>
操作引入xml文件的书包(定位到指定节点)
查看>>
操作系统学习笔记系列(一)- 导论
查看>>
已计划将多个默认网关用于提供单一网络
查看>>
CSS实例:图片导航块
查看>>
python进阶七_文件操作(三)
查看>>
window的对象有哪些(笔记)
查看>>
成绩查询方法指引Pmp
查看>>
Boolean Expressions
查看>>
They Are Everywhere
查看>>
数据结构--汉诺塔递归Java实现
查看>>
day14 多态与抽象
查看>>
Eclipse CDT 出现 launch failed Binary not found
查看>>
apache jmeter
查看>>
Linux 基本命令
查看>>
RedHat7.0 网络源的配置
查看>>