版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务通知FreeRTOS内核实现与应用开发实战指南淘宝:论坛:扫描进入淘宝店铺01任务通知的基本概念02任务通知的运作机制03任务通知的实现参考资料:《FreeRTOS内核实现与应用开发实战指南》主讲内容任务通知的基本概念FreeRTOS从V8.2.0版本开始提供任务通知每个任务都有一个32位的通知值。发送通知给任务,如果有通知未读,不覆盖通知值。发送通知给任务,直接覆盖通知值。发送通知给任务,设置通知值的一个或者多个位,可以当做事件组来使用。发送通知给任务,递增通知值,可以当做计数信号量使用。只能有一个任务接收通知消息。只有等待通知的任务可以被阻塞。任务通知的运作机制无需创建。中断/任务均能发送通知只有在任务中可以等待通知,而不允许在中断中等待通知任务通知的数据结构#if(configUSE_TASK_NOTIFICATIONS==1)
volatileuint32_tulNotifiedValue; volatileuint8_tucNotifyState; #endif任务通知的实现xTaskNotifyGive()xTaskGenericNotify()发送通知,没有通知值(信号量类型)xTaskNotify()发送通知,带通知值发送通知,带通知值,并且返回原通知值xTaskNotifyAndQuery()ulTaskNotifyTake()
等待通知(信号量类型)xTaskNotifyWait()等待通知vTaskNotifyGiveFromISR()xTaskNotifyGive()的中断版本xTaskNotifyAndQueryFromISR()xTaskGenericNotifyFromISR()xTaskNotifyAndQuery()中断版本ulTaskNotifyTake()的中断版本xTaskNotifyFromISR()xTaskNotifyStateClear()清除所有未读消息xTaskGenericNotifyBaseType_txTaskGenericNotify(TaskHandle_txTaskToNotify, uint32_tulValue, eNotifyActioneAction, uint32_t*pulPreviousNotificationValue)参数:xTaskToNotify:
任务句柄ulValue:
通知值eAction:
更新通知的方式pulPreviousNotificationValue:
任务原本的通知值xTaskNotifyGive发送通知,没有通知值(信号量类型)#define xTaskNotifyGive(xTaskToNotify) xTaskGenericNotify((xTaskToNotify),(0),eIncrement,NULL)xTaskNotify发送通知,带通知值#define xTaskNotify(xTaskToNotify, \ ulValue, \eAction) \ xTaskGenericNotify((xTaskToNotify), \ (ulValue), \ (eAction), \
NULL) \xTaskNotifyAndQuery()发送通知,带通知值,并且返回原通知值#define xTaskNotifyAndQuery(xTaskToNotify, \ ulValue, \ eAction, \ pulPreviousNotifyValue) \ xTaskGenericNotify((xTaskToNotify), \ (ulValue), \ (eAction), \ (pulPreviousNotifyValue))ulTaskNotifyTake()获取任务通知值uint32_tulTaskNotifyTake(BaseType_txClearCountOnExit, TickType_txTicksToWait)参数:ulBitsToClearOnExit:
退出函数的时候清除任务通知位xTicksToWait:
阻塞时间xTaskNotifyWait()获取任务通知BaseType_txTaskNotifyWait(uint32_tulBitsToClearOnEntry, uint32_tulBitsToClearOnExit, uint32_t*pulNotificationValue, TickType_txTicksToWait)参数:ulBitsToClearOnEntry:
进入函数的时候清除任务通知位ulBitsToClearOnExit:
退出函数的时候清除任务通知位pulNotificationValue:
用来保存任务通知值xTicksToWait:
阻塞时间xTaskGenericNotifyFromISR()在中断中向一个任务发送任务通知(通用类型)。BaseType_txTaskGenericNotifyFromISR(TaskHandle_txTaskToNotify, uint32_tulValue, eNotifyActioneAction, uint32_t*pulPreviousNotificationValue, BaseType_t*pxHigherPriorityTaskWoken)参数:xTaskToNotify:
任务句柄ulValue:
更新接收任务通知值
eAction:
任务通知值更新方式pulPreviousNotificationValue: 保存任务上一个通知值pxHigherPriorityTaskWoken:
是否在中断退出前切换任务
xTaskNotifyAndQueryFromISR()在中断中发送一个任务通知,并返回对象任务的上一个通知值。#definexTaskNotifyAndQueryFromISR(xTaskToNotify, ulValue, eAction, pulPreviousNotificationValue, pxHigherPriorityTaskWoken) xTaskGenericNotifyFromISR((xTaskToNotify), (ulValue), (eAction), pulPreviousNotificationValue, (pxHigherPriorityTaskWoken))xTaskNotifyFromISR()在中断中发送一个通知,带通知值的。#define xTaskNotifyFromISR(xTaskToNotify,ulValue, eAction, pxHigherPriorityTaskWoken) xTaskGenericNotifyFromISR((xTaskToNotify), (ulValue), (eAction),
NULL, (pxHigherPriorityTaskWoken))vTaskNotifyGiveFromISR()vTaskNo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CRRA 0301-2023绿色再生塑料 产销监管链
- T/TMAC 231-2025电子器件用金刚石热沉片
- T/GDLC 022-2024温室气体 产品碳足迹 量化方法与要求 凝胶糖果
- T/CI 479-2024区域复合水灾害特征变异识别规程
- T/CABC 13-2024产品数字护照 动力蓄电池唯一编码
- T/CRHA 088-2024病理免疫组织化学检测质控品要求
- 2025~2026学年黑龙江齐齐哈尔市龙江县人教版上册第一次学情自测教学质量抽测六年级数学试卷【附答案】
- 2025-2026学年吉林省榆树市初中政治八年级期末上册自测高频题(附答案)
- 2027届江苏省南通市田家炳中学七年级数学第一学期期末检测模拟试题含解析
- 前台接待访客登记、引导与通知流程方案
- 2026年皖豫天一大联考高三10月英语试题(含答案)
- 2026-2027学年四年级上学期统编版语文单元练习卷 第一单元-1(含答案)
- 【应用方案】2026智慧农业农业机器人智能感知与精准作业一体化设计方案
- 高标准农田建设项目初步设计技术规程(NYT 5490-2026 )
- CSCO非小细胞肺癌诊疗指南(2026版)
- 压缩空气储能地下洞库施工方案
- T∕CCEAS008-2026 建设工程造价咨询成果文件质量标准
- (2026年)护理查对制度课件
- 第10课《养成遵纪守法好习惯》第1框《增强遵纪守法意识》-【中职思政】《职业道法与法治》课件(高教版2023基础模块)
- 口腔侵入性操作目录
- 班主任基本功大赛-情景答辩23题(中学组)
评论
0/150
提交评论