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

19年做网站还能赚钱百度图片

19年做网站还能赚钱,百度图片,主要网站域名,seo和sem推广1. 相关函数介绍 osSemaphoreNew:创建并初始化一个信号量对象。osSemaphoreGetName:获取信号量对象的名称。osSemaphoreAcquire:获取信号量令牌,如果当前没有令牌,则超时放弃。osSemaphoreRelease:释放一个…

1. 相关函数介绍

  • osSemaphoreNew:创建并初始化一个信号量对象。
  • osSemaphoreGetName:获取信号量对象的名称。
  • osSemaphoreAcquire:获取信号量令牌,如果当前没有令牌,则超时放弃。
  • osSemaphoreRelease:释放一个信号量令牌,直到初始最大计数。
  • osSemaphoreGetCount:获取当前信号量令牌计数。
  • osSemaphoreDelete:删除信号量对象。

2. 实例代码

// 定义信号量句柄和控制块等
osSemaphoreId_t myCountingSem01Handle;
osStaticSemaphoreDef_t myCountingSem01ControlBlock;
const osSemaphoreAttr_t myCountingSem01_attributes = {.name = "myCountingSem01",.cb_mem = &myCountingSem01ControlBlock,.cb_size = sizeof(myCountingSem01ControlBlock),
};// 创建信号量的函数
void initTask( void ){ // 创建计数信号量,初始值和最大值都为3myCountingSem01Handle = osSemaphoreNew(3, 3, &myCountingSem01_attributes); 
}// 释放信号量的任务函数
void mainTask(void *argument){ int cnt;osStatus_t sem_osStatus;for(;;) {// 释放计数信号量sem_osStatus = osSemaphoreRelease(myCountingSem01Handle); if( sem_osStatus == osOK ){printf("mainTask: osSemaphoreRelease \r\n");// 获取当前的计数值cnt = osSemaphoreGetCount(myCountingSem01Handle); printf("mainTask osSemaphoreGetCount: %d \r\n", cnt);}osDelay(30);}
}// 获取信号量的任务函数
void monitorTask(void *argument){ osStatus_t sem_osStatus;int cnt;for(;;) {// 获取计数信号量,等待超时时间为100sem_osStatus = osSemaphoreAcquire(myCountingSem01Handle, 100); if( sem_osStatus == osOK ){printf("monitorTask: osSemaphoreAcquire \r\n");// 获取当前的计数值cnt = osSemaphoreGetCount(myCountingSem01Handle); printf("monitorTask osSemaphoreGetCount: %d \r\n", cnt);}osDelay(10);}
}

3. 代码解析

  • 首先,定义了myCountingSem01Handle作为信号量句柄,myCountingSem01ControlBlock作为静态信号量控制块,myCountingSem01_attributes用于设置信号量的属性,包括名称、控制块内存和大小。
  • initTask函数中,使用osSemaphoreNew函数创建了一个名为myCountingSem01的计数信号量,初始值和最大值都为 3。
  • mainTask函数中,通过osSemaphoreRelease不断释放信号量,并在释放成功后使用osSemaphoreGetCount获取当前信号量的计数值并打印。
  • monitorTask函数中,通过osSemaphoreAcquire尝试获取信号量,设置了超时时间为 100。如果获取成功,同样使用osSemaphoreGetCount获取当前计数值并打印。

4. 测试结果

  编译代码并下载到板卡上运行后,根据计数信号量的定义,当Task获取到信号时,计数值会减一;当Task释放信号时,计数值会加一。通过打印的日志信息可以验证信号量的使用是否符合预期。例如,mainTask释放信号量后计数值增加,monitorTask获取信号量后计数值减少。

http://www.dtcms.com/wzjs/25194.html

相关文章:

  • 做视频开头动画网站临沂seo网站管理
  • qq网站 直接登录中国进入一级战备2023
  • 网站建设考试试卷乔拓云智能建站平台
  • 做宣传的视频网站有哪些今日实时热搜
  • 东莞市品牌网站建设报价福州百度关键词优化
  • 泉州做网站qzxiaolv软文推送
  • 做封面图的网站网络营销课程ppt
  • 本网站服务器设在美国服务器保护湖北网络推广
  • 做网站怎样赚到钱网站设计公司上海
  • 公众号的微网站怎么做seo刷排名公司
  • 赤壁市药监局网站建设方案站长工具推荐网站
  • 百度商标注册查询北京seo产品
  • 哈尔滨网站建设推荐优化网站排名方法教程
  • 苏州专业网站建设设计公司哪家好百度怎样发布信息
  • 政府机关网站建设的依据搜索引擎优化seo怎么做
  • 营销型电子商务网站特点网络营销公司好不好
  • 网站推广教程北京seo不到首页不扣费
  • 手机制作封面教程网站网络热词2021流行语
  • 怎么找到一个公司的网站建立网站的详细步骤
  • 成都双流网站建设在线培训课程
  • 有什么网站可以做外贸出口信息外贸推广优化公司
  • 青岛网站建设推广友情链接多少钱一个
  • 石家庄建立网站临沂seo推广
  • php网站模块修改搜索引擎优化的基本方法
  • 如何用电脑记事本做网站网络营销策划的主要特点
  • 怎样用php做网站自媒体论坛交流推荐
  • 天元建设集团有限公司成立时间如何做谷歌优化
  • 如何查网站的备案信息搭建网站基本步骤
  • 小学老师在哪个网站做ppt百度在线人工客服
  • 手机网站申请seo优化服务