完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
嗨,我有一个问题。我试着在我的PIC32.CONFIG上运行TCP服务器示例:Win 10,MPLAB X IDE V 3.25 +最新的和声配置器PIC32 MX795F512H+外部PHY(WaveSeLayLAN820),我使用默认的PIN为外部PHY(也尝试交替)在RMII配置中。默认的TCP/IP服务器例子来自于Hyror。PHY初始化似乎是正确的。我使用静态IP地址192.168100.115,而我的PC是192.168100.116。当我从PC上跳过板时,板不回复ARP请求。当我从PC板上ping PC时,板正确地发送ARP请求。到我的电脑,我的电脑回复它,但仅此而已。没有平。就像板没有收到任何数据包一样,我把ICMP服务器/客户端放在板上,这样我就可以告诉PIC32可以成功发送数据包,但是不能接收。我用调试器检查:从我的PC发送的包成功地生成了ISR。我发现在内存中修正了由我的PC发送的ARP回复,但是就像堆栈没有处理这些数据包,所以PIC32可能不承认是自己的MAC地址吗?我默认了这个(0)。如果任何人有一个提示来查找/调试什么是错的!这是一种在PIC侧看到原始数据包的方法吗?
|
|
相关推荐
7个回答
|
|
|
经过一些研究,在这一行中:907 IF(PRXPKTSTAT-GT;RXOK==0)PrxpktSTAT-& Runtpkt!=0πPrxpktSTAT-gt;=0)RxOK为0。我没有发现这个变量意味着什么,但我怀疑缓冲区分配问题。有什么想法吗?
|
|
|
|
|
|
r.k字段指的是接收的数据包状态。这意味着接收的数据包被标记为无效(符号错误或CRC等)。很可能您在数据接口上的MAC<->PHY通信有问题。您使用的是什么PIC32板?如果这是你的定制板:-确保MII/RMII和默认/替换IO配置熔断器与您的板布局匹配-检查PIC32 MAC<->PHY布线以确保它们正确连接。希望这能有所帮助。
|
|
|
|
|
|
您好,谢谢您的回复。我使用OLIMEXIC332 T795H Rev B DEV板。()我正确地配置了rmii和缺省IO位。我不知道保险丝配置是如何工作的,但是我使用它们。当我删除if语句中的r.k条件时,一切都正常!(ARP,ping,TCP Server…)我替换了907(如果PrxpktSTAT-gt;rxOK==0)pxxpktSTAT& & Runtpkt!=0πPrxpktSTAT-gt;= 0)BY907IF(/*PRXPKTSTAT-GT;RXOK==0×*/PRXPKTSTAT)& RuntPKT!=0πPrxpktSTAT-gt;= 0)我终于从PIC32得到ARP回复!一切似乎都很好,但我不喜欢我需要编辑和谐文件的事实。也许我遗漏了什么。我把所有的物理引脚都连接在相应的引脚上(根据连接的示意图),但是没有ERXERR(RMII是可选的)。希望我能找到为什么r.k是0,如果我可以在没有自定义编辑的情况下使用带有新和谐框架的以太网,那就没问题了。
|
|
|
|
|
|
如果连接了控制台,请运行“macinfo”命令。否则停止程序,直接查看ETH寄存器,更具体地说,查看统计寄存器。这将告诉我们更多关于正在发生的事情。是的,不应该编辑这一行。
|
|
|
|
|
|
嗨,对不起delaymacinfoInterface:PIC32INT驱动程序统计信息nR.kPackets:126,nRxPendBuffers:0,nRxSchedBuffers:4,nRxErrorPackets:0,nRxFragmentErrors:0nT.kPackets:3,nTxPendBuffers:0,nTxErrorPackets:0,nTxQueueFull:0Interface:PIC32INT硬件统计信息FRMTXOK:0x3FRMRXOK0x7eRXBUFCNT:0x0RXXOVBufBufF0:0x0FCSEr0x9ALGNERR:0x0SCOLFRM:0x0MCOLFRM:0x0MCOLFRM:0x0MCOLFRM:0x0MCOLFRM:0x0>>>>>>>>>macinfoInterface:PI32INT驱动程序统计nR.kPackets:138,nRxPendBuffers:nRxPendBuffers:0,nRxPendSchedBuffers:0,nRxSchedBuffers:0,nRxSchedBuffers:0,nRxEr0nT.kPackets:7,nTxPendBuffers:0,nTxErrorPackets:0,nTxQueueFull:0接口:PIC32INT硬件统计FRMTXOK:0x4FRMRXOK:0xcRXBUFCNT:0x0RXOVFLOW:0x0FCSERROR:0x0ALGNERR:0x0SCOLFRM:0x0MCOLFRM:0x0Stats被重置?我输入macinfo时正在ping。此后,应用程序似乎冻结了(控制台和ping没有响应)在重置卡片后重新工作。我将尝试在调试运行时复制这个冻结。编辑:我连接了Errrr到GND,它工作了。WaveSHRAE PHY DEV板没有一个Errrr引脚:
|
|
|
|
|
|
这就解释了,因为这个信号向MAC报告了PHY错误。如果您还没有恢复代码,请尝试现在不修改代码就运行。MAC硬件寄存器在读取它们时自动清除,这是正常的行为。
|
|
|
|
|
|
这很好。我恢复了所有我编辑的和谐。我刚刚把RXER引脚连接到地上。我不知道为什么WaysHRAY PHY在开发板上没有这个PIN!我看到RXRR在RMII模式中是必需的!现在所有的TCP/IP协议栈都运行良好,RXOK已经不再是0次了!谢谢您!编辑:对于所有想处理一个waveshare lan8720 PHY的用户,PHYADDR=1(微芯片lan8720 phy为0)和PIC32上的RXERR引脚需要被拉到地上。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1122浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
872浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 22:52 , Processed in 0.675475 second(s), Total 54, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1429