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