当前位置: 首页 > news >正文

珠海市住房建设局网站建设视频网站设计意义

珠海市住房建设局网站,建设视频网站设计意义,彩票网站建设,网站中队人物介绍怎么做目录 说明#xff1a; 一、任务通知 1.1、什么是任务通知 1.2、任务通知优势与劣势 1.3、任务通知值的更新方式 1.4、任务通知值状态 1.5、任务通知状态 1.6、任务通知方式类型 二、任务通知相关API函数 2.1、常用的发送通知API函数 2.2、带通知值的发送通知函数 …目录 说明 一、任务通知 1.1、什么是任务通知 1.2、任务通知优势与劣势 1.3、任务通知值的更新方式 1.4、任务通知值状态 1.5、任务通知状态 1.6、任务通知方式类型 二、任务通知相关API函数 2.1、常用的发送通知API函数 2.2、带通知值的发送通知函数 2.3、常用的接收通知API函数 2.4、ulTaskGenericNotifyTake函数 2.5、xTaskGenericNotifyWait函数 2.6、最佳使用场合 说明 关于内容     1以下内容多为概念了解与步骤分析     2暂无个人示例代码使用的是FreeRTOS的官方示例代码     3若想移植代码测试的请移步其它地方寻找下文内容暂无个人示例代码供测试 关于其它     1操作系统win 10     2平台keil 5 mdk     3语言c语言     4板子STM32系列移植FreeRTOS   一、任务通知 1.1、什么是任务通知 用来通知任务的任务控制块中的结构体成员ulNotifiedValue就是这个通知值。 1.2、任务通知优势与劣势 优势 1效率更高使用任务通知向任务发送事件或数据比使用队列、事件标志组或信号量快得多 2使用内存小使用其他方法都需要创建对应的结构体使用任务通知无需创建结构体。 劣势 1无法发送数据给ISR中断ISR没有结构体通过结构体成员ulNotifiedValue所以无法给ISR发送数据。但ISR可以使用任务通知给任务发送数据 2无法广播多个任务任务通知只能给指定的一个任务接收并处理 3无法缓存多个数据任务通知是通过更新任务通知值来发送数据的任务结构体中只有一个任务通知值只能保存一个数据 4发送受阻不支持发送方无法进入阻塞状态等待。 1.3、任务通知值的更新方式 1不覆盖接受任务的通知值 2覆盖接受任务的通知值 3更新接受任务通知值的一个或多个bit 4增加接受任务的通知值。 类型如下 1计数值数值累计类型信号量 2对应位置一类似事件标志组 3任意数值支持覆写或不覆写类似队列 以上更新方式只要合理灵活的利用任务通知的特点可以在一些场合中替代队列、信号量、事件标志组。 1.4、任务通知值状态 任务都有一个结构体任务控制块TCB存在两个结构体成员变量如下图1 图1 注意uint32_t类型用来表示通知值uint8_t类型用来表示通知状态   1.5、任务通知状态 任务通知状态有3种取值如下图2 图2 名称任务未等待通知含义任务通知默认的初始化状态  名称等待通知含义接收方已准备好此时已调用接收任务通知函数等待发送方给通知  名称等待接收含义发送方已发送此时已调用发送任务通知函数等待接收方接收 1.6、任务通知方式类型 代码实现 typedef enum {     eNoAction 0,            /* Notify the task without updating its notify value. */     eSetBits,                 /* Set bits in the tasks notification value. */     eIncrement,               /* Increment the tasks notification value. */     eSetValueWithOverwrite,   /* Set the tasks notification value to a specific value even if the previous value has not yet been read by the task. */     eSetValueWithoutOverwrite /* Set the tasks notification value if the previous value has been read by the task. */ } eNotifyAction; 参数含义 名称eNoAction 含义无操作 名称eSetBits含义更新指定位 名称eIncrement含义通知值1 名称eSetValueWithOverwrite含义覆写方式更新通知值 名称eSetValueWithoutOverwrite 含义不覆写方式更新通知值 二、任务通知相关API函数 2.1、常用的发送通知API函数 如下图4 图4 2.2、带通知值的发送通知函数 代码实现 BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify,                                UBaseType_t uxIndexToNotify,                                uint32_t ulValue,                                eNotifyAction eAction,                                uint32_t * pulPreviousNotificationValue ) PRIVILEGED_FUNCTION; 参数含义 名称xTaskToNotify含义接收任务通知的任务句柄 名称uxIndexToNotify含义任务的指定通知 名称ulValue含义任务通知值 名称eAction含义通知方式通知值关系方式 名称pulPreviousNotificationValue 含义用于保存更新前的任务通知值NULL不保存 2.3、常用的接收通知API函数 函数名称ulTaskNotifyTask 作用获取任务通知可以设置在退出此函数时将任务通知值清零或-1当任务通知用作二值信号量或计数信号量时使用此函数获取信号量。 函数名称xTaskNotifyWait 作用获取任务通知比ulTaskNotifyTask更复杂可获取通知值和清除通知值的指定位。 2.4、ulTaskGenericNotifyTake函数 代码实现 #define ulTaskNotifyTake( xClearCountOnExit, xTicksToWait ) \     ulTaskGenericNotifyTake( ( tskDEFAULT_INDEX_TO_NOTIFY ), ( xClearCountOnExit ), ( xTicksToWait ) ) 参数含义 名称tskDEFAULT_INDEX_TO_NOTIFY 含义任务的指定通知 名称xClearCountOnExit 含义指定任务在成功接收通知后将通知值清零或-1pdTRUE--把通知值清零pdFALSE--把通知值-1 名称xTicksToWait 含义阻塞等待任务通知值的最大时间 返回值含义 返回0含义接收失败 返回非0含义接收成功返回任务通知的通知值 2.5、xTaskGenericNotifyWait函数 代码实现 #define xTaskNotifyWait( ulBitsToClearOnEntry, ulBitsToClearOnExit, pulNotificationValue, xTicksToWait ) \     xTaskGenericNotifyWait( tskDEFAULT_INDEX_TO_NOTIFY, ( ulBitsToClearOnEntry ), ( ulBitsToClearOnExit ), ( pulNotificationValue ), ( xTicksToWait ) ) 参数含义 名称tskDEFAULT_INDEX_TO_NOTIFY含义任务的指定通知 名称ulBitsToClearOnEntry 含义等待清零指定任务通知的比特位 名称ulBitsToClearOnExit 含义成功等待后清零指定的任务通知值比特位 名称pulNotificationValue 含义用来取出通知值不使用设为NULL 名称xTicksToWait 含义阻塞等待任务通知值的最大时间 返回值含义 返回pdTRUE含义等待任务通知成功 返回pdFALSE含义等待任务通知失败 注意此函数用于获取通知值和清除通知值的指定位值适用于模拟队列和事件标志组使用该函数来获取任务。 2.6、最佳使用场合 1当任务通知用作信号量时使用函数获取信号量ulTaskNotifyTask 2当任务通知用作事件标志组或队列时使用函数来获取xTaskNotifyWait
http://www.dnsts.com.cn/news/138531.html

相关文章:

  • 怎么建网站和网站模块wordpress google统计
  • 亚成成品网站源码网站建设开发语言与平台
  • 可信的品牌网站建设宁波自助建站网站
  • 郫县哪里有做网站的服务态度 专业的网站建设
  • 玩具电子商务网站建设论文外卖网站开发方案
  • php网站转移国内wordpress云免备案
  • 惠州网络公司网站建设wordpress缓存单个页面
  • 企业网站在ps里做吗好的文案网站
  • 静态网站开发常用语言学网站建设专业前景
  • 做家教的网站网站建设投标人资质要求
  • 自己做的网站怎么传到空间啊客户登记管理系统
  • 哪里建设网站最好用php做网站用什么软件
  • 网上图书商城网站设计学ui有前途吗
  • 网站排名怎么优化那片海dede织梦源码企业网络公司工作室网站模板源码模板php
  • 做网站报价明细表wordpress忘记账号
  • 在自己的电脑做网站空间qq空间的网站
  • 可以进不良网站的浏览器自助下单网站怎么做
  • 怎么做网站免费优化网站做跳转影响排名吗
  • 网站申请支付宝接口手机app下载并安装
  • 大新网站制作代码交易网站
  • 技术支持 鼎维重庆网站建设专家国外wordpress商城
  • 深圳外贸seo网站推广手机体验网站
  • 大型网站得多少钱建网站软件哪个好
  • 如何查询网站icp备案大连网站seo
  • 如何做内部网站广告网络推广
  • 企业做网站设计济南网站建设方案详细
  • asp做微网站设计甘肃城乡建设部网站首页
  • 门户网站关键词织梦模板大气网站建设类网站模板
  • 做个普通的网站多少钱WordPress免签约支付插件
  • 陕西 网站建设wordpress 标签 标题