- 博客(13)
- 资源 (41)
- 收藏
- 关注
转载 UCOSII软件定时器
API函数//创建OS_TMR *OSTmrCreate (INT32U dly, INT32U period, INT8U opt, OS_TMR_CALLBACK callback, void *callback_arg,
2017-12-29 17:54:56 601
转载 UCOSII消息队列
主结构体typedef struct os_q { /* QUEUE CONTROL BLOCK */ struct os_q *OSQPtr; /* Link to next queue control block in list of free blocks */ void **OSQStart; /* P
2017-12-29 17:14:25 1045
转载 UCOSIII内建消息队列
使能内建消息队列 将OS_CFG_TASK_Q_EN置1API函数#if OS_CFG_TASK_Q_EN > 0uOS_MSG_QTY OSTaskQFlush (OS_TCB *p_tcb, OS_ERR *p_err);void *OSTaskQPend (OS_TICK timeout, OS_OPT
2017-12-27 18:11:59 888
转载 UCOSIII消息队列
任务间消息传递2种途径 全局变量 发布消息主结构体typedef struct os_q OS_Q;struct os_q { /* Message Queue */ OS_OBJ_TYPE Type; /* Should be set to OS_OBJ_TYPE_Q */
2017-12-27 17:13:27 4161
转载 UCOSIII内嵌信号量
不仅能够简化代码,而且比使用独立的信号量更有效API函数//等待-1OS_SEM_CTR OSTaskSemPend (OS_TICK timeout, OS_OPT opt, CPU_TS *p_ts, OS_ERR *p_err);//取
2017-12-27 15:30:52 657
转载 UCOSIII互斥信号量
互斥信号量可以解决优先级反转问题优化后现象 优化方法:L和H等待同一个信号量的时候,将L任务优先级提至H相同优先级实验举例void start_task(void *p_arg){ OS_CRITICAL_ENTER(); //进入临界区 //创建一个互斥信号量 OSMutexCreate((OS_MUTEX* )&TEST_MUTEX,
2017-12-27 15:19:26 1068
转载 UCOSIII优先级反转
反转现象 任务优先级:H>M>L 绿色部分:任务占用共享资源 理想状态:7释放信号量后,最高优先级H任务抢占CPU 反转原因:H和L等待同一个信号量,H的任务优先级被降至和L相同优先级,此时M已经成为最高优先级实验举例void start_task(void *p_arg){ OS_CRITICAL_ENTER(); //进入临界区 //创建一个信号量 OS
2017-12-27 15:04:37 1467
转载 UCOSIII信号量
信号量通常分为两种 二进制信号量 计数型信号量二进制信号量 二进制信号量只能取0和1两个值计数型信号量 计数型信号量的范围由OS_SEM_CTR决定。OS_SEM_CTR可以为8位,16位和32位API函数//创建void OSSemCreate (OS_SEM *p_sem, CPU_CHAR *p_name,
2017-12-27 13:16:51 757
转载 UCOSIII软件定时器
举例OSTmrCreate((OS_TMR *)&tmr, //定时器 (CPU_CHAR *)"tmr", //定时器名字 (OS_TICK )20, //20*10=200ms (OS_TICK )100, //100*10=1000ms (OS_
2017-12-27 12:17:42 391
转载 UCOSIII钩子函数
OSIdleTaskHook 空闲任务调用这个函数,可以用来让CPU进入低功耗模式void OSIdleTaskHook (void){#if OS_CFG_APP_HOOKS_EN > 0u if (OS_AppIdleTaskHookPtr != (OS_APP_HOOK_VOID)0) { (*OS_AppIdleTaskHookPtr)(); }#e
2017-12-27 10:43:15 4415
转载 UCOSIII系统内部任务
1. 空闲任务 空闲任务是UCOSIII创建的第一个任务 空闲任务是UCOSIII必须创建的 空闲任务优先级总是为OS_CFG_PRIO_MAK-1 空闲任务中不能调用任何可使空闲任务进入等待态的函数#define OS_CFG_PRIO_MAX 64u /* Defines the maximum number of task priorities (see OS_PRIO
2017-12-27 09:59:04 422
转载 UCOSIII时间片轮转调度
OS_RATE_HZ const OSCfg_TickRate_Hz = (OS_RATE_HZ )OS_CFG_TICK_RATE_HZ;#define OS_CFG_TICK_RATE_HZ 200u /* Tick rate in Hertz (10 to 1000 Hz) */时间片长度200Hz,也就是一个系统时钟节拍5ms串口实验 为Task1和Task2分配2个时间片,分
2017-12-26 18:32:05 4431 1
转载 Keil MDK fromelf生成bin文件
找到Keil安装目录中fromelf.exe 配置Keil –bin:二进制文件 –i32:Intel 32位Hex –m32:Motorola 32位Hex
2017-12-07 11:58:34 564
esp8266_non_os_sdk_api_reference_cn.pdf
2017-07-18
串口调试助手
2017-05-10
get-pip.py
2015-06-18
Qt_5_14_2_MSVC2017_64bit-Release
2021-04-19
ALINX黑金Zynq7000开发平台配套教程V1.02.pdf
2018-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人