完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
static struct pbuf * low_level_input(struct netif *netif)
{ struct pbuf *p, *q; u16_t len; int l =0; FrameTypeDef frame; u8 *buffer; p = NULL; frame=ETH_Rx_Packet(); len=frame.length; buffer=(u8 *)frame.buffer; p=pbuf_alloc(PBUF_RAW,len,PBUF_POOL); if(p!=NULL) { for(q=p;q!=NULL;q=q->next) { memcpy((u8_t*)q->payload,(u8_t*)&buffer[l], q->len); l=l+q->len; } } frame.descriptor->Status=ETH_DMARxDesc_OWN; if((ETH->DMASRÐ_DMASR_RBUS)!=(u32)RESET) { ETH->DMASR=ETH_DMASR_RBUS; ETH->DMARPDR=0; } return p; } 返回的P是什么意思?不是应该返回q才对吗? |
|
相关推荐
4个回答
|
|
为什么要返回q?p就是pbuf,q只是个临时变量!
|
|
|
|
这里是不是返回q或者p都可以?直接对p进行操作不行吗?为什么一定要多个变量出来呢?
|
|
|
|
学习一下C语言中链表的遍历吧。
|
|
|
|
for(q=p;q!=NULL;q=q->next)在这里的时候已经把p的地址赋给q了,所以操作q就是在操作p,在进行for循环的时候q=q->next,最后q指向了链表的最后NULL,而p还是开始的位置,所以返回p.
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2523 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2305 浏览 5 评论
3107 浏览 3 评论
2773 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2732 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
564浏览 1评论
819浏览 0评论
918浏览 0评论
583浏览 0评论
397浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-2 12:06 , Processed in 0.979084 second(s), Total 53, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号