
1、使用主控芯片STM32F407V。 使用的晶振25M。使用管脚如下。RX_ER貌似程序没用,后续再看吧![]() ![]() ![]() 2、DP83848部分原理图,***注意看34脚,连到了PA1和PA8,也就是50M时钟是由STM32提供的。 ![]() 3、下面进行CUBE的时钟配置 首先时钟配置,注意图中2部分勾选,也就使能了PA8的时钟输出。 但是我们要输出的是50Mhz,所以一定要注意图中3处一定要改成High,否则时钟错误,以太网两个灯都不会亮的!!!!!! ![]() 下面的时钟配置是网上大家的经验配置,这样配置稳定,不丢包 ![]() 4、仿真接口配置***一下,我原理图使用的的SW模式,所以如下配置,根据自己原理图配置即可 ![]() 5、ETH配置 首先选择模式RMII ![]() 之后配置PHY地址,注意我的原理图,42管脚悬空的,这个地方芯片内部是上拉的,所以悬空就是1。PHY地址就是0X01 ![]() 所以进行如下的PHY配置 ![]() 选择型号DP83848,配置界面如下: ![]() 中断界面勾选中断 ![]() 管脚配置,注意一定要和自己原理图一致!!!! ![]() 6、LWIP配置 ![]() ![]() 7、注意到此CUBE配置完成了,但是仅仅是配置,没有其余的通讯程序。可从st官网下载,st官网搜索LWIP,找到如下文件下载 ![]() 解压得到下面的,此时打开从官网下载的文件夹 ![]() 如下project目录下,找到这些,根据自己实际需要的添加。我下面使用tcp_echo_server为例, ![]() 8、KEIL里边修改 打开生成的MDK文件。将下面两个文件夹下的tcp_echoserver.c和tcp_echoserver.h加入到我们的工程。 ![]() 并在main函数中加入.h头文件 ![]() 在主函数初始化部分加入tcp_echoserver_init(); ![]() 主循环里边加入MX_LWIP_Process(); ![]() 9、电脑的IP设置如下,红圈里的都要固定和咱们在CUBE里边配置一致的。 ![]() 10、电路板连接网线到电脑。上电。编译程序并下载。此时只要是配置跟我一致,原理图一致,下完程序就能看到黄灯常亮,绿灯闪烁。如果不行,则要对照一下原理图是否和我一致,或者是电路板硬件问题 11、电脑ping一下, ![]() ———————————————— 版权声明:冬麻麻 |
【有奖体验】STM32Cube通过Clang/LLVM支持进一步简化代码开发
STM32CubeMX应用结构选择指南
经验分享 | STM32CubeMX 生成时钟获取函数的分析
兔哥的最强U5图显【000】——U5G9最小系统绘制
兔哥的ST67——【000】ST67模组订购
基于LORA的环境感知系统
经验分享 | 使用CubeMx配置NVIC时为何不见子优先级?
经验分享 | 三个 ADC 同步模式配置以及 CubeMx 错误配置的解决方法
兔哥的边缘AI【001】——DIY-STM32N6全IO扩展板
兔哥的BLE【002】-WB09最小系统板PCB设计