完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
在使用CH569以太网例程ETH-GMAC例程中,有几个问题不太懂,再次请教一下。
|
|
相关推荐
9个回答
|
|
|
您好,
1、mac_send函数的发送长度收到mac帧的最大长度限制。 2、不知道您是否对代码逻辑有进行更改,需要满足主循环中调用发送的条件 if(enable_send==0x03) 其次可以尝试降低调用发送速度进行测试,也可尝试将发送描述符的数量增加 #define TX_Des_Num 2 /* 发送描述符和缓冲区的数量 */ |
|
|
|
|
|
感谢您的回复,我现在想使用一个发送缓冲区,我就把TX_Des_Num改为了1, 同时还有memcpy(pTx_Buff,target_msg_ptr,sizeof(target_msg_ptr)); 我每次发送都把它变为memcpy(&pTx_Buff[42],自定义数据,发送长度),这样发送是成功的,但是不知道为什么我用户WireShark收到的不是我写进去的,反复测试了好多遍。 不知道是不是还需要修改什么才能把发送缓冲区从2变为1。还有1个现象,如果我把 memcpy(&pTx_Buff[42],自定义数据,发送长度)中的42变为一个100以上的值,从WireShark我发现是我写入的值,不知道是不是因为地址冲突的原因?
|
|
|
|
|
|
还有个问题enable_send 这个满足发送条件是怎么判断的呢? 就是满足什么条件下enable_send才会等于0x03呢?
|
|
|
|
|
|
|
|
|
|
|
|
我看了一下,大概知道了逻辑,我理解的是发送完之后会把enable_send变为1,之后采集方接收完成在|2,变成了3.
|
|
|
|
|
|
我还有问题就是我吧发送缓冲区变为了4,也可以使用,但是我发现42字节的MAC配置文件就会被改变, 实验环境是:我先把1400字节的测试数据
复制到 中,我把DVP的DMABUF0和DMABUF1的地址变为了&ptxbuff[42],这样发送, 但是我从wireshrak发现 少了最后的目标MAC地址和源协议地址? 这个可能是因为什么呢。 这张是没触发DVP的地址和变量。 这张是触发了的,相同的地址值却被改变了。麻烦您。 |
|
|
|
|
|
如果不触发DVP,只在主函数中发送,是不缺失数据的,可能是因为16字节对齐的原因吗?
|
|
|
|
|
|
要注意的是569的高速外设在传输数据的时候,目标数据地址空间一定是分配在RAMX里面的,ptxbuff定义是在哪里的?
|
|
|
|
|
|
ptxbuff是起始地址是在0x20020050. 这个地址是在0x2002000-0x20037fff的地址范围内、
|
|
|
|
|
只有小组成员才能发言,加入小组>>
379 浏览 0 评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
885 浏览 0 评论
1483 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
3433 浏览 2 评论
2842 浏览 1 评论
安卓手机支持外接otg扩展坞 然后使用ch340+ch9329控制电脑吗
1833浏览 1评论
1483浏览 1评论
381浏览 0评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
887浏览 0评论
485浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-13 05:55 , Processed in 1.001671 second(s), Total 58, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1442