初级会员

- 积分
- 123
- 金钱
- 123
- 注册时间
- 2014-11-15
- 在线时间
- 18 小时
|
5金钱
硬件平台nucleo H745,使用Cubemx生成以太网通信,采用UDP通信,大部分采用freertos默认配置,程序中若只有UDP接收,能正常收到数据,当加入UDP发送时,不能发出数据也收不到数据,后问题定位于运行两次HAL_ETH_Transmit后在该函数中heth->gState = HAL_ETH_STATE_ERROR,请问这种问题该怎么去解决,有遇到过这种问题的吗
while((dmatxdesc->DESC3 & ETH_DMATXNDESCWBF_OWN) != (uint32_t)RESET)
{
if((heth->Instance->DMACSR & ETH_DMACSR_FBE) != (uint32_t)RESET)
{
heth->ErrorCode |= HAL_ETH_ERROR_DMA;
heth->DMAErrorCode = heth->Instance->DMACSR;
/* Set ETH HAL State to Ready/
heth->gState = HAL_ETH_STATE_ERROR;
/ Return function status */
return HAL_ERROR;
}
|
|