完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、OS_CORE.C (1)void OSInit (void) (2)void OSIntEnter (void) (3)void OSIntExit (void) (4)void OSSchedLock (void) // 给调度器上锁 (5)void OSSchedUnlock (void) // 给调度器解锁,成对使用 (6)void OSStart (void) (7)void OSStatinit (void) // 确定CPU 使用率 (8)void OSTimeTick (void) (9)INT16U OSVersion (void) // 返回uc/os的版本号*100 (10)void OS_Dummy (void) // 不做任何事情,被OSTaskDel() 调用 (11)INT8U OS_EventTaskRdy (OS_EVENT *pevent, void *msg, INT8U msk) (12)void OS_EventTaskWait (OS_EVENT *pevent) (13)void OS_EventTO (OS_EVENT *pevent) (14)void OS_EventWaitListInit (OS_EVENT *pevent) (15)void OS_Sched (void) // 实现任务级的调度 (16)void OS_TaskIdle (void *pdata) (17)void OS_TaskStat (void *pdata) (18)INT8U OS_TCBInit (INT8U prio, // 任务的优先级别,存于OSTCBPrio OS_STK *ptos, // 任务堆栈顶指针,存于OSTCBStkPtr OS_STK *pbos, // 任务堆栈栈底指针,存于OSTCBStkBottom INT16U id, // 任务的标识符,存于OSTCBID INT32U stk_size, // 任务堆栈长度,存于OSTCBStkSize void *pext, // 任务控制块的扩展指针,存于OSTCBExtPtr INT16U opt) // 任务控制块的选择项,存于OSTCBOpt // 为用户程序分配任务控制块及对其进行初始化 备注:INT8U const OSUnMapTbl[ ] 是uc/os为提高查找速度而定义的一个数组。 二、OS_FLAG.C (1)OS_FLAG_GRP *OSFlagCreate (OS_FLAGS flags, // 信号量初始值 INT8U *err) // 错误信息 // 信号量集的创建函数 (2)void OS_FlagInit (void) (3)OS_FLAG_GRP *OSFlagDel (OS_FLAG_GRP *pgrp, //所要删除信号量集指针 INT8U opt, // 选择项 INT8U *err) // 删除信号量集 (4)OS_FLAGS OSFlagPend (OS_FLAG_GRP *pgrp, //所要请求的信号量集的指针 OS_FLAGS flags, // 滤波器 INT8U wait_type, // 等待类型 INT16U timeout, // 延时时限 INT8U *err) // 错误信息 // 请求信号量集 (5)OS_FLAGS OSFlagAccept (OS_FLAG_GRP *pgrp, //所请求的信号量集指针 OS_FLAGS flags, // 请求的信号 INT8U wait_type, // 逻辑运算类型 INT8U *err) // 错误信息 // 无等待的请求一个信号量集 (6)OS_FLAGS OSFlagPost (OS_FLAG_GRP *pgrp, OS_FLAGS flags, // 所要选择发送的信号 INT8U opt, // 信号有效的选项 INT8U *err) // 向信号量集发送信号 (7)OS_FLAGS OSFlagQuery (OS_FLAG_GRP *pgrp, //待查询的信号量集的指针 INT8U *err) (8)static void OS_FlagBlock (OS_FLAG_GRP *pgrp, // 信号量集指针 OS_FLAG_NODE *pnode, // 待添加的等待任务节点指针 OS_FLAGS flags, // 指定等待信号的数据 INT8U wait_type, // 信号与等待之间的逻辑 INT16U timeout) // 等待时限 (9)static BOOLEAN OS_FlagTaskRdy (OS_FLAG_NODE *pnode, OS_FLAGS flags_rdy) (10)void OS_FlagUnlink (OS_FLAG_NODE *pnode) / *删除节点,在OSFlagPost() 中被调用*/ 三、OS_MBOX.C (1)void *OSMboxAccept (OS_EVENT *pevent) // 无等待的请求消息邮箱 (2)OS_EVENT *OSMboxCreate (void *msg) // 创建一个消息邮箱 (3)OS_EVENT *OSMboxDel (OS_EVENT *pevent, INT8U opt, INT8U *err) (4)void *OSMboxPend (OS_EVENT *pevent, INT16U timeout, INT8U *err) (5)INT8U OSMboxPost (OS_EVENT *pevent, void *msg)//向消息邮箱发送消息 (6)INT8U OSMboxPostOpt (OS_EVENT *pevent, void *msg, INT8U opt) (7)INT8U OSMboxQuery (OS_EVENT *pevent, OS_MBOX_DATA *pdata) 四、OS_MEM.C (1)OS_MEM *OSMemCreate (void *addr, INT32U nblks, INT32U blksize, INT8U *err) (2)void *OSMemGet (OS_MEM *pmem, INT8U *err) // 请求获得一个内存块 (3)INT8U OSMemPut (OS_MEM *pmem, void *pblk) // 释放一个内存块 (4)INT8U OSMemQuery (OS_MEM *pmem, OS_MEM_DATA *pdata) (5)void OS_MemInit (void) // 初始化动态内存 五、OS_MUTEX.C (1)INT8U OSMutexAccept (OS_EVENT *pevent, INT8U *err) (2)OS_EVENT *OSMutexCreate (INT8U prio, INT8U *err) (3)OS_EVENT *OSMutexDel (OS_EVENT *pevent, INT8U opt, INT8U *err) (4)void OSMutexPend (OS_EVENT *pevent, INT16U timeout, INT8U *err) (5)INT8U OSMutexPost (OS_EVENT *pevent) //发送(释放)互斥型信号量 (6)INT8U OSMutexQuery (OS_EVENT *pevent, OS_MUTEX_DATA *pdata) 六、OS_Q.C (1)void *OSQAccept (OS_EVENT *pevent) // 无等待的请求一个消息队列 (2)OS_EVENT *OSQCreate (void **start, INT16U size) //创建一个消息队列 (3)OS_EVENT *OSQDel (OS_EVENT *pevent, INT8U opt, INT8U *err) (4)INT8U OSQFlush (OS_EVENT *pevent) // 清空消息队列 (5)void *OSQPend (OS_EVENT *pevent, INT16U timeout, INT8U *err) (6)INT8U OSQPost (OS_EVENT *pevent, void *msg) (7)INT8U OSQPostFront (OS_EVENT *pevent, void *msg) (8)INT8U OSQPostOpt (OS_EVENT *pevent, void *msg, INT8U opt) (9)INT8U OSQQuery (OS_EVENT *pevent, OS_Q_DATA *pdata) (10)void OS_QInit (void) // 消息队列初始化 七、OS_SEM.C (1)INT16U OSSemAccept (OS_EVENT *pevent) // 无等待的请求信号量 (2)OS_EVENT *OSSemCreate (INT16U cnt) // 创建信号量 (3)OS_EVENT *OSSemDel (OS_EVENT *pevent, INT8U opt, INT8U *err) (4)void OSSemPend (OS_EVENT *pevent, INT16U timeout, INT8U *err) (5)INT8U OSSemPost (OS_EVENT *pevent) // 发送(释放)信号量 (6)INT8U OSSemQuery (OS_EVENT *pevent, OS_SEM_DATA *pdata) 八、OS_TASK.C (1)INT8U OSTaskChangePrio (INT8U oldprio, INT8U newprio) (2)INT8U OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio) (3)INT8U OSTaskCreateExt (void (*task)(void *pd), // 指向任务的指针 void *pdata, // 传递给任务的参数 OS_STK *ptos, // 指向任务堆栈栈顶的指针 INT8U prio, // 创建任务的优先级 INT16U id, // 任务的标识 OS_STK *pbos, // 任务堆栈栈底的指针 INT32U stk_size, // 任务堆栈的长度 void *pext, // 指向附加数据域的指针 INT16U opt) // 用于设定操作的选项 (4)INT8U OSTaskDel (INT8U prio) // 任务的删除 (5)INT8U OSTaskDelReq (INT8U prio) // 请求删除任务函数 (6)INT8U OSTaskResume (INT8U prio) // 任务的恢复 (7)INT8U OSTaskStkChk (INT8U prio, OS_STK_DATA *pdata) (8)INT8U OSTaskSuspend (INT8U prio) (9)INT8U OSTaskQuery (INT8U prio, OS_TCB *pdata) // 任务的查询 九、OS_TIME.C (1)void OSTimeDly (INT16U ticks) // 以时钟节拍数为单位延时 (2)INT8U OSTimeDlyHMSM (INT8U hours, INT8U minutes, INT8U seconds, INT16U milli) (3)INT8U OSTimeDlyResume (INT8U prio) (4)INT32U OSTimeGet (void) // 获取OSTime 值 (5)void OSTimeSet (INT32U ticks) // 设置 OSTime 值 注:INT32U OSTime ,全局变量,用以记录系统发生的时钟节拍。 |
|
相关推荐
2 个讨论
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
1712 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
887 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1269 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1740 浏览 1 评论
552 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-13 14:23 , Processed in 0.521334 second(s), Total 43, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号