Добрый день.
В библиотеке HAL запись в регистры Ethernet происходит следующим образом
Код
/* Write to ETHERNET MACCR */
(heth->Instance)->MACCR = (uint32_t)tmpreg1;
/* Wait until the write operation will be taken into account :
at least four TX_CLK/RX_CLK clock cycles */
tmpreg1 = (heth->Instance)->MACCR;
HAL_Delay(ETH_REG_WRITE_DELAY);
(heth->Instance)->MACCR = tmpreg1;
Для чего это сделано и как работает?
Я догадываюсь что для пересечения клоковых доменов, но не совсем понимаю почему именно так.