HAL_StatusTypeDef Bsp_Eth_Init(void) { HAL_StatusTypeDef ret; uint8_t MACAddr[6] ; HAL_ETH_DeInit(&heth); //清空ETH结构体 可以在分析中先忽略 Eth_Reset(); //复位ETH外设 可以在分析中先忽略 ETH->DMABMR |= ETH_DMABMR_SR; //置位ETH的DMA寄存器的SR位 /* Init ETH */ MACAddr[0] =...
单步调试发现两个问题: 1)经常在初始化的时候卡在ETH_DMABMR.SR软件复位后不自动恢复,导致超时。往往...
1. 软件复位不成功 寄存器复位失败:在多次尝试初始化ETH_DMABMR.SR软件复位后,它不自动恢复,导致超时...
ETH_AddressAlignedBeats:地址对齐节拍,可选使能或禁止,它设定以太网DMA总线模式寄存器(ETH_DMABMR)AAB位的值,当设置为1并且固定突发位(FB)也为1时,AHB接口会生成与起始地址LS位对齐的所有突发;如果FB位为0,则第一个突发不对齐,但后续的突发与地址对齐。一般选择使能。 ETH_FixedBurst:固定突发,控制AHB...
使用STM32CubeMx5.21,在stm32f745平台上搭建ethernet通信程序,PHY选用KSZ8081RNB。(LAN8742/DP83848使用一样) 1...MX_LWIP_Process()。 Ping测试。 若STM32Ethernetping不通,DMABMR->SR寄存器不自动清0。可能原因 LAN8742替换LAN8720 ...
154 while((ETH->DMABMR & ETH_DMABMR_SR) != 0)155 {156 }157 158 //Adjust MDC clock range depending on HCLK frequency159 ETH->MACMIIAR = ETH_MACMIIAR_CR_Div102;160 161 //Valid Ethernet PHY or switch driver?162 if(interface->phyDriver != NULL)...
ETH_AddressAlignedBeats:地址对齐节拍,可选使能或禁止,它设定以太网DMA总线模式寄存器(ETH_DMABMR)AAB位的值,当设置为1并且固定突发位(FB)也为1时,AHB接口会生成与起始地址LS位对齐的所有突发;如果FB位为0,则第一个突发不对齐,但后续的突发与地址对齐。一般选择使能。 ETH_FixedBurst:固定突发,控制AHB...
ETH_Jabber:jabber定时器功能选择,可选使能或禁止,与看门狗功能类似,只是看门狗用于接收MAC帧,jabber定时器用于发送MAC帧,它设定ETH_MACCR寄存器的JD位的值。如果设置为1,使能jabber定时器,在发送MAC帧超过2048字节时自动切断后面数据,一般选择使能jabber定时器。
FixedBurst:固定突发,控制AHB主接口是否执行固定突发传输,可选使能或禁止,它设定ETH_DMABMR寄存器FB位的值,当设置为1时,AHB在正常突发传输开始期间使用SINGLE、 INCR4、INCR8或INCR16;为0时,AHB使用SINGLE和INCR突发传输操作。 RxDMABurstLength:DMA突发接收长度,有多个值可选,一般选择32Beat,可实现32*32bits突发长...
ETH_AddressAlignedBeats:地址对齐节拍,可选使能或禁止,它设定以太网DMA总线模式寄存器(ETH_DMABMR)AAB位的值,当设置为1并且固定突发位(FB)也为1时, AHB接口会生成与起始地址LS位对齐的所有突发;如果FB位为0,则第一个突发不对齐,但后续的突发与地址对齐。一般选择使能。 ETH_FixedBurst:固定突发,控制AHB主接口是...