完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在学习UCOSII+LWIP时有些疑问:
1、在TCP或UDP的初始化时,为什么任务udp_thread和tcp_client_thread的创建要放在start_task之前创建? 2、任务udp_thread和tcp_client_thread没使用延时函数,那么与main.c文件中的其他任务之间是如何调度的呢? |
|
相关推荐
6个回答
|
|
|
|
|
|
原子哥晚上2点还在线夜生活丰富呀
netconn_XX()函数都调用了tcpip_apimsg()函数,其会阻塞在一个信号量上,直至释放该信号量。等待、释放、发送等都会调用OS_Sched(); 以下是原子哥课件中总结的任务调度点: 1、释放信号量或者发送消息,也可通过配置相应的参数不发生任务调度。 2、使用延时函数OSTimeDly()或者OSTimeDlyHMSM()。 3、任务等待的事情还没发生(等待信号量,消息队列等)。 4、任务取消等待。 5、创建任务。 6、删除任务。 7、删除一个内核对象。 8、任务改变自身的优先级或者其他任务的优先级。 9、任务通过调用OSTaskSuspend()将自身挂起。 10、任务解挂某个挂起的任务。 11、退出所有的嵌套中断。 12、通过OSSchedUnlock()给调度器解锁。 13、任务调用OSSchedRoundRobinYield()放弃其执行时间片。 14、用户调用OSSched()。 再次感谢原子哥的指点和不懈努力地对粉丝们疑惑的解答!! |
|
|
|
注意身体!!
|
|
|
|
1、UCOSII任务创建在OS_Start()之前无关顺序,因为在Start之前都没有运行;
|
|
|
|
2、udp_thread和tcp_client_thread不是没有使用延时函数,只是在任务运行时,调用了sys_arch中的rev_mbox函数,其中又调用了Pend_mbox,这就造成了等待时任务的切换
|
|
|
|
是的,这些函数里会调用OS_Sched();
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2547 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2332 浏览 5 评论
3161 浏览 3 评论
2804 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2762 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
611浏览 1评论
857浏览 0评论
973浏览 0评论
625浏览 0评论
453浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 09:22 , Processed in 1.109641 second(s), Total 89, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号