完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在我的应用中,我用UDP传送数据,STM32+DP83848采用UDP接收,如果PC端全速传送一个文件,STM32处理比较慢,会存在丢数据的情况。
我看STM32存在硬件流控设置,于是我就使能了硬件流控,但是流控并没有起作用。 请问,有没有这方面的例子,或者有经验的朋友,指点一下。谢谢。 |
|
相关推荐
1个回答
|
|
为了实现STM32F207和DP83848之间的以太网硬件流控,我们需要按照以下步骤操作:
1. 配置STM32F207的以太网硬件流控: 首先,确保STM32F207的以太网硬件流控功能已经启用。在HAL库中,可以通过以下代码启用硬件流控: ```c EthernetHandle.Instance->MAC->MACCR |= ETH_MACCR_TFC | ETH_MACCR_RFC; ``` 这将启用STM32F207的发送和接收流控。 2. 配置DP83848的硬件流控: 接下来,需要配置DP83848以支持硬件流控。这通常涉及到通过I2C接口修改DP83848的寄存器设置。具体步骤如下: a. 初始化I2C接口。 b. 编写一个函数,用于读取DP83848的寄存器值。 c. 编写一个函数,用于向DP83848的寄存器写入新值。 d. 读取DP83848的PHYCR寄存器值(地址0x1F)。 e. 修改PHYCR寄存器值,启用硬件流控。这通常涉及到设置PHYCR寄存器的第14位(TX_FLOW_CONTROL)和第13位(RX_FLOW_CONTROL)。 f. 将修改后的PHYCR寄存器值写回DP83848。 3. 测试硬件流控: 在硬件流控配置完成后,可以通过发送大量数据来测试其效果。如果STM32F207和DP83848之间的硬件流控正常工作,那么在STM32处理速度较慢时,数据丢失的情况应该会减少。 4. 优化STM32F207的处理速度: 如果硬件流控仍然无法满足需求,可以考虑优化STM32F207的处理速度。这可能包括使用DMA传输数据、优化数据处理算法或使用中断而不是轮询等方式。 5. 检查连接线和硬件: 最后,确保以太网连接线和硬件没有问题。损坏的连接线或硬件故障可能导致流控不起作用。 通过以上步骤,应该可以实现STM32F207和DP83848之间的以太网硬件流控。如果仍然存在问题,建议查阅相关硬件的官方文档,或寻求专业人士的帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1646 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1566 浏览 1 评论
993 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
692 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1611 浏览 2 评论
1871浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
656浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
526浏览 3评论
543浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
515浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 05:52 , Processed in 0.874848 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号