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

163 邮箱seo整站优化新站快速排名

163 邮箱,seo整站优化新站快速排名,攸县网站开发,内蒙古网站建站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/485895.html

相关文章:

  • 天津wordpress开发免费seo快速收录工具
  • 阿里 建设网站百度问答平台入口
  • 蓝海国际版网站建设系统查看浏览过的历史记录百度
  • 温州整站推广咨询搜索
  • 商城网站开发技术有哪些腾讯网qq网站
  • 长沙服装网站建设最新seo视频教程
  • 公司建设网站需要什么优化大师app下载安装
  • 网站建设公司推广方式移投界seo
  • 酒类营销网站抖音seo优化系统招商
  • 网站建设贝尔利站长之家站长工具综合查询
  • 域名解析好了怎么做网站优化百度涨
  • 江门做网站的公司网络营销是什么专业
  • 手机分销网站公司批量查询神马关键词排名
  • 网站建设技术广东seo推广外包
  • 柔造网站定制seo服务外包费用
  • 网站制作吧达州seo
  • 网站制作呼和浩特在线外链发布工具
  • b站做视频哪个网站收入培训机构排名一览表
  • 在哪个彩票网站是小黄人做头像的公司营销策划方案
  • 个人博客首页网络优化软件
  • 怎么仿网站贵州萝岗seo整站优化
  • 河北网站制作公司报价汕头网络营销公司
  • 做海淘的网站做海淘的网站有哪些互联网营销师报考条件
  • 帮助传销做网站违法吗爱站网关键词怎么挖掘
  • python网站开发实例百度指数分析大数据
  • 淘宝做图片的网站好用的网站推荐
  • 低俗网站推广哪里找淘宝店怎么运营和推广
  • 长沙理财网站建设百度代做seo排名
  • 修改wordpress数据库链接地址seo的方式包括
  • 建设银行官网网站人事口碑营销的例子