完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
看FreeRTOS源码时 发现static void prvCopyDataFromQueue( Queue_t * const pxQueue, void * const pvBuffer ) 从队列中获取信息时
pxQueue->u.pcReadFrom += pxQueue->uxItemSize; 先把u.pcReadFromu.pcReadFrom指针偏移了uxItemSize 然后才拷贝出数据( void ) memcpy( ( void * ) pvBuffer, ( void * ) pxQueue->u.pcReadFrom, ( size_t ) pxQueue->uxItemSize ); 这一块为什么要先便宜指针,不是应该直接读取吗? |
|
相关推荐
5个回答
|
|
已解决
|
|
|
|
@发烧友 求解答
|
|
|
|
楼主 明白了吗?为什么先便宜指针 再拷贝?
|
|
|
|
很奇怪为什么先偏移一个项目大小?如何理解pcReadFrom?
|
|
|
|
看了下入队与出队的源码。 如果使用queueSEND_TO_Front入队的话,出队的时候先对pcReadFrom加一个uxItemSize再把数据从队列拷出是可以理解的,因为在使用queueSEND_TO_Front入队的时候是先拷贝数据再对pcReadFrom减一个uxItemSize(请看源码)
问题是如果入队是queueSEND_TO_Back的话,源码中只是对pcWriteTo进行了操作对pcReadFrom没有操作,那么出队的时候怎么保证拷出的数据就是queueSEND_TO_Back入队的时候的数据呢? 求澄清,跪! |
|
|
|
只有小组成员才能发言,加入小组>>
854 浏览 0 评论
1182 浏览 1 评论
2559 浏览 5 评论
2893 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2749 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1169浏览 3评论
213浏览 2评论
481浏览 2评论
394浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
477浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-12 03:18 , Processed in 1.595322 second(s), Total 87, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号