摘要:
(一) (二)使用,参数是任务句柄 //key任务函数 void key_task(void *pvParameters) { u8 key; while(1) { key=KEY_Scan(0); switch(key) { case WKUP_PRES: vTaskSuspend(Task1Ta 阅读全文
摘要:
(一)创建与删除任务函数 (二)上面的四个函数目前只用动态创建任务和删除任务 (三)动态创建任务 函数 xTaxkCreate() 1. 宏 configSUPPORT_DYNAMIC_ALLOCATION 必须为 1 2. 新创建的任务默认就是就绪态的,如果当前没有比它更高优先级的任务运行那么此任 阅读全文
摘要:
(一)任务状态 FreeRTOS 中的任务永远处于下面几个状态中的某一个: ● 运行态当一个任务正在运行时,那么就说这个任务处于运行态,处于运行态的任务就是当前正在使用处理器的任务。如果使用的是单核处理器的话那么不管在任何时刻永远都只有一个任务处于运行态。● 就绪态处于就绪态的任务是那些已经准备就绪 阅读全文
摘要:
(一)临界段代码也叫做临界区,是指那些必须完整运行,不能被打断的代码段 (二)FreeRTOS 与 临 界 段 代 码 保 护 有 关 的 函 数 有 4 个,两个是任务级的临界段代码保护,两个是中断级的临界段代码保护 1. 任务级临界段代码保护taskENTER_CRITICAL()和 taskE 阅读全文
摘要:
(一)优先级看:022_STM32中断优先级分组解析 (二)FreeRTOS的中断配置中没有处理亚优先级(响应优先级)的情况,所以只能配置成组4,16个都为抢占优先级 (三)此宏用来设置 MCU 使用几位优先级,STM32 使用的是 4 位,因此此宏为 4! 2^4=16,那么就有16个优先级 #d 阅读全文
摘要:
(0)STM32有十六个优先级 (一)STM32分组为:组0-4 (二)分组配置在寄存器SCB->AIRCR中: (三)解析第二点 1. 组0就是4位都用来设置成响应优先级,2^4=16位都是响应优先级 2. 组1分为(2^1)两个抢占优先级,在这两个抢占优先级里面还分别有(2^3)八个响应优先级, 阅读全文