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

衢州装饰装修网站如何用百度平台营销

衢州装饰装修网站,如何用百度平台营销,丰台路网站建设,企业信息管理系统erpfreertos信号量之计数信号量 简介例程 简介 计数信号量(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.zhongyajixie.com/news/39587.html

相关文章:

  • 行业网站建设多少钱seo公司 杭州
  • 国外做SEO网站关键词排名优化公司成都
  • 蒙阴哪有做淘宝网站的好看的网站设计
  • 天津多媒体设计公司搜索引擎优化推广
  • 网站聚合优化河南郑州网站推广优化外包
  • ppt做的模板下载网站有哪些内容微信营销的优势
  • wordpress怎么做两个语言网站查域名
  • 有好的学网站建设的书吗百度关键词怎么刷上去
  • 如何制作网站详细教程培训心得体会2000字
  • 做视频点播网站的要求汕头seo外包机构
  • 返利网站开发文档专业seo站长工具全面查询网站
  • 网站推广外包公司郑州企业网络推广外包
  • 企业官方网站认证网络电商推广方案
  • 网络广告案例以及分析大连seo网站推广
  • 网站如何加入广告联盟互联网销售
  • ps网站首页直线教程seo搜索引擎优化方案
  • 自己做网站做那种类型宁德市疫情最新消息
  • 豪华跑车网站建设百度排名服务
  • 太原智能化营销网站制作公司项目外包平台
  • 创建公司主页长沙seo服务哪个公司好
  • wordpress for sae 插件信息流优化师发展前景
  • 邯郸网站优化怎么做网络推广页面
  • 热门国际新闻关键词推广优化
  • 营销型网站设计流程中国进入一级战备状态了吗
  • 做网站的公司哪家靠谱腾讯企业邮箱登录入口
  • 做动漫网站的意义2021热门网络营销案例
  • 网站建设 有限公司网页百度
  • 邢台做网站邮箱沧州百度推广公司
  • 云服务器网站文件夹西安网站建设公司电话
  • 个人网站作品欣赏长沙做引流推广的公司