最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

STM32F4 LAN8720A的移植方法

IT圈 admin 23浏览 0评论

2024年5月28日发(作者:冒璞)

ST中stsw-stm32070的网络例子

——将DP83848CVV修改为LAN8720A

在main.h中

将LCD注释掉

//#define USE_LCD /* enable LCD */

Stm32f4的时钟配置

首先在startup_stm32f40xx.s中找到芯片上电复位之后做的动作,将进行SystemInit

SystemInit()函数在system_stm32f4xx.c中进行了编写

同时SystemInit()调用SetSysClock(),也在system_stm32f4xx.c中

1 / 8

SetSysClock()配置了PLL的时钟频率,一般都配置为168M,晶振不同的时候只要配置

PLL_M的值即可,8MHz晶振就将PLL_M定义为8,25MHz的时候定义为25;

当然,SetSysClock()中还进行了时钟源的选择,HSE还是HIS什么的,还有HCLK、

PCLK2、PCLK1等,可以查看具体的代码。

时钟配置完成之后,进入main()函数,如前面所介绍,进入main()之前,时钟已经配

置为168MHz了。

这里有 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);这个函数,看上去是中断

优先级的设置,暂且没有去管它,有兴趣的时候可以看下,应该不难;因为这里只是

单纯的设置LAN8720A来替代开发板上原先的DP83848CVV,所以主要设置都在

ETH_BSP_Config()中,这里设置LAN8720A成功之后,就会去设置LwIP,就不是物理

层上的工作了,都是IOS其它传输层、应用层等层的工作。

2 / 8

2024年5月28日发(作者:冒璞)

ST中stsw-stm32070的网络例子

——将DP83848CVV修改为LAN8720A

在main.h中

将LCD注释掉

//#define USE_LCD /* enable LCD */

Stm32f4的时钟配置

首先在startup_stm32f40xx.s中找到芯片上电复位之后做的动作,将进行SystemInit

SystemInit()函数在system_stm32f4xx.c中进行了编写

同时SystemInit()调用SetSysClock(),也在system_stm32f4xx.c中

1 / 8

SetSysClock()配置了PLL的时钟频率,一般都配置为168M,晶振不同的时候只要配置

PLL_M的值即可,8MHz晶振就将PLL_M定义为8,25MHz的时候定义为25;

当然,SetSysClock()中还进行了时钟源的选择,HSE还是HIS什么的,还有HCLK、

PCLK2、PCLK1等,可以查看具体的代码。

时钟配置完成之后,进入main()函数,如前面所介绍,进入main()之前,时钟已经配

置为168MHz了。

这里有 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);这个函数,看上去是中断

优先级的设置,暂且没有去管它,有兴趣的时候可以看下,应该不难;因为这里只是

单纯的设置LAN8720A来替代开发板上原先的DP83848CVV,所以主要设置都在

ETH_BSP_Config()中,这里设置LAN8720A成功之后,就会去设置LwIP,就不是物理

层上的工作了,都是IOS其它传输层、应用层等层的工作。

2 / 8

发布评论

评论列表 (0)

  1. 暂无评论