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

虚拟主机网站淘客网站建设网络营销推广方法和手段

虚拟主机网站淘客网站建设,网络营销推广方法和手段,做网站干嘛,网站建设方案编写人什么是信号量? 信号量(Semaphore),是在多任务环境下使用的一种机制,是可以用来保证两个或多个关键代 码段不被并发调用。 信号量这个名字,我们可以把它拆分来看,信号可以起到通知信号的作用&am…

什么是信号量?

信号量(Semaphore),是在多任务环境下使用的一种机制,是可以用来保证两个或多个关键代 码段不被并发调用。 信号量这个名字,我们可以把它拆分来看,信号可以起到通知信号的作用,然后我们的量还可以 用来表示资源的数量,

当我们的量只有0和1的时候,它就可以被称作二值信号量,只有两个状 态,当我们的那个量没有限制的时候,它就可以被称作为计数型信号量。 信号量也是队列的一种。 什么是二值信号量?

二值信号量其实就是一个长度为1,大小为零的队列,只有0和1两种状态,通常情况下,我们用 它来进行互斥访问或任务同步。

互斥访问:比如门钥匙,只有获取到钥匙才可以开门

任务同步:比如我录完视频你才可以看视频

 1. 创建二值信号量

SemaphoreHandle_t xSemaphoreCreateBinary( void )

参数: 无

返回值: 成功,返回对应二值信号量的句柄; 失败,返回 NULL 。

2. 释放二值信号量

BaseType_t xSemaphoreGive( SemaphoreHandle_t xSemaphore )

参数: xSemaphore:要释放的信号量句柄

返回值: 成功,返回 pdPASS ; 失败,返回 errQUEUE_FULL 。

3、获取二值信号量

seType_t xSemaphoreTake( SemaphoreHandle_t xSemaphore, TickType_t xTicksToWait );

参数: xSemaphore:要获取的信号量句柄

xTicksToWait:超时时间,0 表示不超时,

portMAX_DELAY表示卡死等待;

返回值: 成功,返回 pdPASS ; 失败,返回 errQUEUE_FULL 。

实操 实验需求 创建一个二值信号量,按下 KEY1 则释放信号量,按下 KEY2 获取信号量。

代码:

myBinarySemHandle = xSemaphoreCreateBinary();void StartTaskGive(void const * argument)
{/* USER CODE BEGIN StartTaskGive *//* Infinite loop */for(;;){if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)==GPIO_PIN_RESET){osDelay(20);if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)==GPIO_PIN_RESET){if(xSemaphoreGive( myBinarySemHandle)==pdTRUE)printf("二值信号量放入成功\r\n");elseprintf("二值信号量放入失败\r\n");}while(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)==GPIO_PIN_RESET);}osDelay(10);}/* USER CODE END StartTaskGive */
}/* USER CODE BEGIN Header_StartTaskTake */
/**
* @brief Function implementing the taskTake thread.
* @param argument: Not used
* @retval None
*/
/* USER CODE END Header_StartTaskTake */
void StartTaskTake(void const * argument)
{/* USER CODE BEGIN StartTaskTake *//* Infinite loop */for(;;){if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_1)==GPIO_PIN_RESET){osDelay(20);if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_1)==GPIO_PIN_RESET){if(xSemaphoreTake(myBinarySemHandle,portMAX_DELAY)==pdTRUE)printf("取出二值信号量成功\r\n");elseprintf("取出二值信号量失败\r\n");}while(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_1)==GPIO_PIN_RESET);}osDelay(10);}/* USER CODE END StartTaskTake */
}

http://www.yayakq.cn/news/103093/

相关文章:

  • 卡一卡二三免视频网站运营优化建议
  • 网站设计名称部门定制网站建设公司
  • 中国最好的域名注册网站五站合一网站建设
  • qq中心官方网站怎么把在EXCEL做的查询系统做到网站上
  • 如何dns解析网站专门做封面的网站
  • 国外网站入口重写Wordpress的js
  • wordpress 网站图标设置wordpress需要登录
  • 怎样防止网站被黑域名怎么和网站绑定
  • 做全屏网站设计时容易犯的错申请网站空间怎么做
  • 佛山做外贸网站案例做百度推广是网站好还是阿里好
  • 泉州网站建设推广企业wordpress 留言板插件
  • 什么网站做的好旅游类网站建设受众分析
  • 赤坎网站建设公司官方网站建站
  • 大学生创新创业网站建设内容网上学做网站
  • 北京建网站的价格网站开发毕业设计开课题目
  • 公司网站备案信息查询动漫设计和动画设计
  • h5个人网站模板源码百度网址大全电脑版旧版本
  • 有什么推荐的网站睢宁县凌城做网站的
  • 免费商城网站源码wordpress图像插件
  • 新农村建设投诉网站开发app用什么工具
  • 旅游网站制作教程技术支持 如皋网站建设
  • 继续教育网站怎么做不了作业电子模板
  • 建设银网官方网站网站不用工具开发建设
  • 深圳网站设计与制作长春企业免费建站
  • 搭建网站挣钱灯饰网站开发
  • 陕西的网站建设公司排名微信广告推广平台
  • 海南网站建设公司如何建开发手机网站首页
  • phpok企业建站系统有哪些做应援的网站
  • 网站构建代码模板最新新闻国内大事件
  • 中山网站快照优化公司免费网站新域名