你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
随风hh1 提问时间:2021-9-6 17:13 /
使用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工具时,发送的同时也接收到了数据,这到底是怎么回事?
收藏 评论3 发布时间:2021-9-6 17:13

举报

3个回答
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
楼主,您好建议把工程传上来,肯定有发送的,需要代码分析。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版