随风hh1 发表于 2021-9-6 17:13:41

STM32F4 LWIP 无操作系统 数据收发问题

使用STM32CubeMAX 创建的LWIP工程(TCP Server),裸机,无操作系统,可以ping通,也可以发送和接收数据,但是有一个奇怪的地方,描述如下:
   在while循环中“MX_LWIP_Process();‘添加这个函数,函数内部如下所示:
void MX_LWIP_Process(void)
{
/* USER CODE BEGIN 4_1 */
/* USER CODE END 4_1 */
ethernetif_input(&gnetif);

/* USER CODE BEGIN 4_2 */
/* USER CODE END 4_2 */
/* Handle timeouts */
sys_check_timeouts();

/* USER CODE BEGIN 4_3 */
/* USER CODE END 4_3 */
}

而函数”ethernetif_input(&gnetif);“仅是处理的接收数据过程,那么,数据是如何发送的呢?在用TCP工具时,发送的同时也接收到了数据,这到底是怎么回事?

xmshao 发表于 2021-9-7 16:18:53

你可以看看 ethernet_output(), netif->linkoutput(),HAL_ETH_TransmitFrame(),这些函数,慢慢顺藤摸瓜展开来研究,另外,例程里还用到了专用DMA。

随风hh1 发表于 2021-9-6 17:16:59

请各位大神赐教,多谢多谢

废鱼 发表于 2021-9-7 10:21:12

楼主,您好建议把工程传上来,肯定有发送的,需要代码分析。
页: [1]
查看完整版本: STM32F4 LWIP 无操作系统 数据收发问题