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

最新文章

  1. WebClient 实现多文件/文本同时上传
  2. 【初探移动前端开发05】jQuery Mobile (整合版)
  3. Java中primitive type的线程安全性
  4. Python之路【第十四篇】前端补充回顾
  5. C++ WIN32控制台异常关闭回调函数
  6. [POLITICS] S Korea lawmakers vote to impeach leader
  7. MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验
  8. Candies(差分约束)
  9. ASP.NET中页面传值
  10. FTP传输文件被破坏的问题(Linux、Busybox)
  11. java nginx等代理或网关转发请求后获取客户端的ip地址,原理
  12. Spring AOP 的实现机制
  13. android ViewStub简单介绍
  14. jquerymobile动态添的无索刷新
  15. Python学习札记(四十) 面向对象编程 Object Oriented Program 11
  16. mssqlServer大量数据快速插入:SqlBulkCopy
  17. 悲剧文本(Broken Keyboard (a.k.a. Beiju Text),UVA 11988)
  18. Go 语言 基础 【第一篇】:package fmt导入
  19. mac废纸篓清空的心得、mac设置不睡眠不待机不锁屏、如何快速锁屏待机睡眠、mac重启、mac学习的必备软件-城
  20. Linux如何根据UUID自动挂载磁盘分区

热门文章

  1. Python3 爬虫之 Scrapy 框架安装配置(一)
  2. u盘重装ubuntu16.04过程遇到的问题
  3. Cabloy-CMS:动静结合,解决Hexo痛点问题
  4. charles SSL代理设置
  5. odoo Botton标签属性详解
  6. Unity-遇到的问题小总结
  7. Hadoop 文件系统命令行基础
  8. frp 端口映射
  9. 基于SpringBoot + Mybatis实现 MVC 项目
  10. springboot 使用i18n进行国际化