中级会员
 
- 积分
- 300
- 金钱
- 300
- 注册时间
- 2016-4-30
- 在线时间
- 52 小时
|

楼主 |
发表于 2018-12-21 13:35:35
|
显示全部楼层
移植到我的板子试过,可以的,但是我不需要lwip,我就想直接进行数据发送,所以我就把写成这样来测试一下:
int ETH_PHY_SEND(uint8_t* pack,uint16_t framelength)
{
int errval = HAL_ERROR;
ETH_BufferTypeDef Txbuffer[ETH_TX_DESC_CNT];
Txbuffer[0].buffer = pack;
Txbuffer[0].len = framelength;
Txbuffer[0].next = NULL;
TxConfig.TxBuffer = Txbuffer;
TxConfig.Length += framelength;
SCB_CleanInvalidateDCache();
errval = HAL_ETH_Transmit(&heth,&TxConfig,0);
return errval;
}
单步调试可以发现只有第一次可以发送数据,以后再进入这个函数就返回HAL_ERROR了,原子哥可以提点一下吗? |
|