1 / 22
文档名称:

UCOSIII 常用函数.doc

格式:doc   大小:22KB   页数:22页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

UCOSIII 常用函数.doc

上传人:799474576 2020/9/15 文件大小:22 KB

下载得到文件列表

UCOSIII 常用函数.doc

文档介绍

文档介绍:任务堆栈:存储任务中的调用的函数、局部变量、中断服务程序和CPU寄存器的值。全局变量的保护:(或只有一个数据),而在其他任务中只是读取,则可以不用互斥型信号量,最多会造成读取的数据未被完全写完。,则需要用互斥型信号量保护,这样当有任务申请到互斥型信号量(保护不可重入的程序段)写数据时,其他任务的同一个互斥型信号量必须等待上一个任务的释放才可进行写。,则在其他任务中的全局变量的写操作要用临界段(禁止中断和禁止调度:保护不可被分割的程序段)保护。(因为如果不关中断相当于中断的优先级最高,而且不能被像其他任务那样挂起。)OS_CFG_ISR_POST_DEFERRED_EN为1临界段使用锁调度器方式;为0临界段使用禁中断方式(CPU_SR_ALLOC();OS_CRITICAL_ENTER();OS_CRITICAL_EXIT();OS_CRITICAL_EXIT_NO_SCHED();OSSchedLockNestingCtr记录调度器被锁的次数)。检测任务堆栈的使用情况:OS_CFG_STAT_TASK_STK_CHK_EN使能OS_ERRerr;CPU_STK_SIZE  stk_free;CPU_STK_SIZE  stk_used;OSTaskStkChk(&TaskBStkTCB,&stk_free,&stk_used,&err);中断中使用OSIntEnter(); 和OSIntExit();是为了退出中断后执行中断调度操作,如果中断中并未用到OSSemPost();等系统函数,则退出中断服务程序后不需要进行任务调度,就可以不在中断服务程序中使用OSIntEnter(); 和OSIntExit();。(有时候用:CPU_CRITICAL_ENTER();OSIntNestingCtr++;CPU_CRITICAL_EXIT();替代OSIntEnter();),还包括CPU_STK(CPU堆栈类型),和CPU_STK_SIZE(CPU堆栈类型的大小)的定义,CPU_SR(CPU状态寄存器的定义)。(任务控制块)、OS_SEM(信号量)、OS_MUTEX(互斥型信号量)、OS_MSG(消息)、OS_Q(消息队列)、OS_ERR(系统错误)等。,如CPU_ERR、CPU_TS、CPU_TS_TMR等CPU_STK:typedefunsignedint堆栈的类型定义OS_TCB:structos_tcb任务控制块的类型定义OS_ERR:enumos_err错误信息定义CPU_TS:typedefunsignedint时间戳变量CPU_TS_TMR:typedefunsignedint定时器变量全局变量(OS_CFG_STAT_TASK_EN使能且调用了OSStatTaskCPUUsageInit(&err);则开启了统计任务的功能:可以统计CPU使用率等。)OSStatTaskCPUUsage:CPU的使用率(0—10000= -%)OSStatTaskCPUUsageMax:CPU的使用率最大值(0—10000= -%)OSTaskCtxSwCtr:任务切换次数的记录变量OSStatTaskCtr:已经建立了的任务数三、常用函数一、(1)void  OSInit()        //系统初始化(2)void  OSIntEnter()    //发生了一次中断(中断嵌套的逐层进入)(3)void  OSIntExit()      //退出了一次中断(中断嵌套的逐层退出)(4)void  OSSched()      //系统进行调度(5)void  OSSchedLock()    //给调度器上锁(6)void  OSSchedUnlock()  //给调度器解锁,成对使用(7)void  OSStart()      //启动多任务过程,在启动之前必须调用OSInit(),并已建立一个任务。其中OSStartHighRdy()必须调用OSTaskSwHook(),并令OSRunning=TRUE.(8)void  OS_Pend()      //挂起任务(9)void  OS_Post()      //解挂任务(10)void  OS_PendAbort()  //取消挂起任务(11)INT16UOSVersion()  //返回uc/os的版本号*10000(12)void  OS_IdleTaskInit()  //空闲任务初始化(13)

最近更新

锅炉运营方案 7页

营山中学2024年元旦策划书 11页

钢板铺路方案 9页

采购实施方案 10页

艺术设计职业生涯规划书 19页

农户购买合作社农业社会化服务的影响因素研究.. 2页

道路交通秩序整治工作方案 9页

农业恢复措施对黑土母质发育的新成土土壤结构.. 2页

车辆事故应急演练方案 9页

再灌注损伤的保护作用及其机制的开题报告 2页

内陆干旱区平原水库防蒸发浮板研发与节水试验.. 2页

赣州老城区改造方案 9页

调研座谈会方案 8页

内蒙古东部区蒙古族妇女宫颈病变的相关因素分.. 2页

规范性文件清理工作方案 8页

内压弯矩载荷下双开孔圆柱壳孔间距研究的开题.. 2页

典型环境污染物的光电催化去除及其机理研究的.. 2页

朋友圈旅游说说的好句子 7页

冬奥会作文(7篇) 7页

关联理论视角下电视同传译员口译技巧分析的开.. 2页

全胸腔镜体外循环下房室间隔缺损修补术与常规.. 2页

全日制硕士生学术研究的内在动力机制省思——.. 2页

全业务经营背景下中国铁通的发展战略研究中期.. 2页

光色设计在酒店大堂中的应用中期报告 2页

光学玻璃纳米力学性能研究的开题报告 2页

预防接种工作规范培训后测试题2022-2023年(有.. 12页

安全生产教育培训考试试题含答案 7页

肝动脉化疗栓塞术课件 18页

加油站 网架吊装方案 (1) 75页

第七章 小组初期课件 32页