完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、任务挂起的概念:将任务的运行状态转为等待态(或称阻塞态)的过程叫做任务的挂起,任务被挂起后它的运行就停止了! (1)任务挂起函数:OSTaskSuspend(INT8U prio)//prio为任务的优先级别 用户任务可调用OSTaskSuspend()来挂起自身或者其它任务(当然不能用它来挂起空闲任务了), 被挂起的任务在恢复前就不会在运行了。 (2)任务恢复函数:OSTaskResume(INT8U prio)//prio为任务的优先级别 被函数OSTaskSuspend()挂起的任务只能在其它任务(除自身外的任务)中通过调用OSTaskResume()函数使其恢复为就绪状态。 (3)任务挂起函数与恢复函数的简单使用: //任务n,串口发送 解析:此函数就是在任务n中将优先级别为1的任务挂起,当变量j从0自增到50时,就将优先级别为1的任务挂起,从50自增到200时,再将该任务恢复;j在50到200这个范围内时,该任务是不会运行的! (4)在此值得一提的是,被挂起的任务并非处于挂起态,而是处于等待态(或阻塞态)。被挂起的任务在恢复后就直接进入运行态了,而任务因为中断使其失去CPU的控制权限才会进入挂起态,处于挂起态的任务除非中断结束后其优先级仍是最高的,否则它将不会立即获得运行。(对此不理解的同学请猛击文章开头的连接,参考我的关于可剥夺型内核的文章) 二、调度器上锁的概念:调度器上锁后,任务调度就不再进行。假设是在任务n中将调度器上锁,那么系统就只运行任务n,将调度器解锁后,其它任务才会得到系统的调度而运行! (1)调度器上锁函数:OSSchedLock(void)//形参为空 (2)调度器解锁函数:OSSchedUnlock(void)//形参为空 (3)调度器上锁函数与调度器解锁函数的简单使用: //任务n,串口发送 解析:在此函数中,当j处于50到1000这个范围内时,系统仅运行任务n,其它任务都不会获得运行! 参: 任哲 《嵌入式实时操作系统uC/OS-II原理及应用》 |
|
|
|
1049 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1017 浏览 2 评论
2123 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1219 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1639 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 17:37 , Processed in 0.577245 second(s), Total 65, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号