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

衢州高级网站设计成都企业seo

衢州高级网站设计,成都企业seo,国外优秀设计网站有哪些,wordpress网站空白freertos信号量之计数信号量 简介例程 简介 计数信号量(Counting Semaphore)用于管理共享资源的访问。以下是计数信号量的常用函数及其说明: 1)xSemaphoreCreateCounting(unsignedportBASE_TYPE uxMaxCount, unsignedportBASE_T…

freertos信号量之计数信号量

    • 简介
    • 例程

简介

计数信号量(Counting Semaphore)用于管理共享资源的访问。以下是计数信号量的常用函数及其说明:

1)xSemaphoreCreateCounting(unsignedportBASE_TYPE uxMaxCount, unsignedportBASE_TYPE uxInitialCount)
创建一个计数信号量。uxMaxCount参数指定计数信号量的最大值,即共享资源的数量;uxInitialCount参数指定计数信号量的初始值,即共享资源的可用数量。

2)xQueueCreateCountingSemaphore(unsignedportBASE_TYPE uxCountValue, unsignedportBASE_TYPE uxInitialCount):创建一个计数信号量。该函数与xSemaphoreCreateCounting()功能类似,但参数略有不同。

3)xSemaphoreTake(SemaphoreHandle_t xSemaphore, portTickType xBlockTime)
获取计数信号量。该函数会尝试获取计数信号量,如果计数信号量可用,则获取成功并立即返回;否则,如果计数信号量不可用,函数会阻塞调用任务,直到计数信号量可用或超时。

4)xSemaphoreGive(SemaphoreHandle_t xSemaphore)
释放计数信号量。该函数会将计数信号量的值加1,表示共享资源可用。如果有任务正在等待该共享资源,则其中一个任务将被唤醒并继续执行。

5)xSemaphoreGetCount(SemaphoreHandle_t xSemaphore)
获取计数信号量的当前值。该函数返回计数信号量的当前值,即0到uxMaxCount之间的一个整数值。

6)xSemaphoreDelete(SemaphoreHandle_t xSemaphore):删除一个计数信号量。该函数会释放与计数信号量关联的资源,并使计数信号量无效。

使用注意点:

计数信号量的值表示共享资源的可用数量。任务在使用完共享资源后,必须释放相应的计数信号量,以使其他任务可以继续使用共享资源。
计数信号量的最大值由uxMaxCount参数指定。当计数信号量的值达到最大值时,表示没有空闲共享资源可用。
可以通过xSemaphoreGetCount()函数获取当前可用的共享资源数量,以便任务根据实际情况做出相应处理。

例程

#include <FreeRTOS.h>  
#include <task.h>  // 定义计数信号量的初始状态为0  
static SemaphoreHandle_t countingSemaphore = 0;  void vATask( void * pvParameters )  
{  portTickType xDelay;  for( ;; )  {  // 任务进入临界区,获取计数信号量  xSemaphoreTake( countingSemaphore, ( portTickType ) 0 ); // 等待信号量大于0  // 临界区代码,访问共享资源  // ...  // 释放计数信号量,允许其他任务访问共享资源  xSemaphoreGive( countingSemaphore );  // 延时一定时间后再次进入临界区  xDelay = pdMS_TO_TICKS( 1000 ); // 延时1秒  portYIELD_WITHIN( xDelay );  }  
}

在上述示例中,任务vATask首先进入临界区并尝试获取计数信号量。如果计数信号量的值为零,任务会阻塞等待。一旦任务获取到计数信号量,就可以访问共享资源。当任务完成对共享资源的访问后,释放计数信号量,允许其他任务获取该资源。同时,任务进入临界区的代码执行完成后,会释放计数信号量,以便其他任务可以获取该资源。

http://www.15wanjia.com/news/53149.html

相关文章:

  • 免费b2b网站要怎么做中国企业500强
  • 自定义网页搜索优化的培训免费咨询
  • 波兰网站后缀刷关键词优化排名
  • 东莞虎门高铁站抖音推广
  • 张浦专业做网站百度网址入口
  • 美食的网站建设个人总结怎么建个人网站
  • 深圳 网站建设培训网站排名费用
  • 金湖做网站seo技术外包 乐云践新专家
  • 广东智慧团建网站登录个人怎么做互联网推广平台
  • 广东建设执业资格中心网站短视频推广引流方案
  • wordpress本地上传到网站国内新闻大事20条
  • 办公用品网站建设策划书专业竞价托管
  • 企业如何注册域名企业seo培训
  • 上海网站制作公司联系方式免费网络推广工具
  • 江苏网站建设公司百度竞价排名危机事件
  • 设计师a 网站免费b2b网站推广渠道
  • 做网站一般注册哪几类商标品牌策划方案模板
  • 职业规划ppt模板免费下载网站推广seo教程
  • 网站建设赚钱吗郑州seo实战培训
  • 有不花钱做网站免费b站推广入口
  • 网络公司做网站网络快速排名优化方法
  • 怎样给自己的店做网站seo技术培训学校
  • 程序员会搭建非法网站吗关键词免费下载
  • 泸州网站建设网站设计与网页制作
  • 哪些购物网站有做拼团活动营销策略4p分析怎么写
  • 梧州市网站建设广告网站大全
  • 电子商务网站建设概括谷歌排名算法
  • 网站建设杭州正规推广平台
  • 如何给网站做证书网络推广策划书
  • 网站开发e r图上海百度推广代理商