.2. 关闭 MMC 中断
在很多情况下, MMC 中断对实际产品没有意义。例如,在这个案例中,我们可以选择关闭 MMC
中断。这就需要用到 MMC 中断的 mask 寄存器:
• MMC Rx interrupt mask register (ETH_MMC_RX_INTERRUPT_MASK)
• MMC Tx interrupt mask register (ETH_MMC_TX_INTERRUPT_MASK)
我们可以添加以下代码到我们的应用代码里
ETH->MMCRIMR = ETH_MMCRIMR_RXLPITRCIM | ETH_MMCRIMR_RXLPIUSCIM |
ETH_MMCRIMR_RXUCGPIM | ETH_MMCRIMR_RXALGNERPIM | ETH_MMCRIMR_RXCRCERPIM;
ETH->MMCTIMR = ETH_MMCTIMR_TXLPITRCIM | ETH_MMCTIMR_TXLPIUSCIM |
ETH_MMCTIMR_TXGPKTIM | ETH_MMCTIMR_TXMCOLGPIM | ETH_MMCTIMR_TXSCOLGPIM;
客户反馈找不到 ETH 的定义。其实在 STM32H7 的例程里,我们可以很容易发现 ETH 定义在
STM32Cube\Repository\STM32Cube_FW_H7_V1.8.0\Drivers\CMSIS\Device\ST\STM32H7xx\I
nclude\stm32h750xx.h:
#define ETH ((ETH_TypeDef *)ETH_BASE)
也就是说,如果你的工程时源自 STM32Cube 例程,你应该能够加入以上代码并且能够成功运
行。
在加入上述代码或者类似操作后,客户反馈,再次进行超过 7 天以上的压力测试,系统运行正
常
|