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

html 网站开发软件东南亚cod建站工具

html 网站开发软件,东南亚cod建站工具,中小微企业名录查询,社保扣款怎么在社保网站上做》freertos信号量之二值信号量 简介例程 简介 FreeRTOS的二值信号量#xff08;Binary Semaphore#xff09;是用于实现进程间同步和临界资源保护的重要工具。以下是一些二值信号量的常用函数及其说明#xff1a; 1#xff09;xSemaphoreCreateBinary() 创建一个二值信号量… freertos信号量之二值信号量 简介例程 简介 FreeRTOS的二值信号量Binary Semaphore是用于实现进程间同步和临界资源保护的重要工具。以下是一些二值信号量的常用函数及其说明 1xSemaphoreCreateBinary() 创建一个二值信号量。该函数接受一个无符号整型参数用于指定信号量的初始值。如果初始值为0则表示信号量未被占用否则表示信号量已被占用。 2xSemaphoreTake(SemaphoreHandle_t xSemaphore, portTickType xBlockTime) 获取二值信号量。该函数会尝试获取信号量如果信号量可用则获取成功并立即返回否则如果信号量不可用函数会阻塞调用任务直到信号量可用或超时。xBlockTime参数指定阻塞时间单位为系统时钟节拍数。 3xSemaphoreGive(SemaphoreHandle_t xSemaphore) 释放二值信号量。该函数会将信号量的值置为1表示信号量可用。如果有任务正在等待该信号量则其中一个任务将被唤醒并继续执行。 4xSemaphoreGetCount(SemaphoreHandle_t xSemaphore) 获取二值信号量的当前值。该函数返回信号量的当前值即0或1。 5xSemaphoreDelete(SemaphoreHandle_t xSemaphore) 删除一个二值信号量。该函数会释放与信号量关联的资源并使信号量无效。 使用注意点 二值信号量只有两个状态0和1因此只能用于简单的同步和资源保护场景。 二值信号量不支持优先级继承因此不会出现优先级反转的问题。 在释放信号量时需要注意保证调用xSemaphoreGive()函数的代码能够正确执行否则可能导致信号量无法释放而引起死锁。 例程 #include FreeRTOS.h #include task.h // 定义二值信号量的初始状态为0 static SemaphoreHandle_t binarySemaphore 0; void vATask( void * pvParameters ) { portTickType xDelay; for( ;; ) { // 任务进入临界区保护临界资源 xSemaphoreTake( binarySemaphore, ( portTickType ) 0 ); // 等待信号量变为1 // 临界区代码保护临界资源 // ... // 释放信号量使信号量状态变为0允许其他任务或中断服务程序进入临界区 xSemaphoreGive( binarySemaphore ); // 延时一定时间后再次进入临界区 xDelay pdMS_TO_TICKS( 1000 ); // 延时1秒 portYIELD_WITHIN( xDelay ); } } void vAnInterruptServiceRoutine( void ) { // 中断服务程序中获取二值信号量保护中断服务程序的代码不被打断 xSemaphoreTakeFromISR( binarySemaphore, xHigherPriorityTaskWoken ); // 中断服务程序代码保护中断服务程序的代码不被打断 // ... // 中断服务程序释放二值信号量允许任务进入临界区 xSemaphoreGiveFromISR( binarySemaphore, xHigherPriorityTaskWoken ); }在上述示例中任务vATask首先进入临界区并等待二值信号量。当二值信号量的状态为0时任务会阻塞等待。一旦任务进入临界区就可以执行保护临界资源的代码。当任务完成临界区代码后释放二值信号量使其状态变为0允许其他任务或中断服务程序进入临界区。 在中断服务程序中也可以使用二值信号量来保护中断服务程序的代码不被打断。当低优先级的中断发生时中断服务程序会获取二值信号量并快速处理少部分工作。一旦中断服务程序完成工作就会释放二值信号量允许高优先级的中断或任务进入临界区。
http://www.hkea.cn/news/14467515/

相关文章:

  • 五合一自助建站网站wordpress code标签
  • wordpress电影网站模板wordpress用户前端登陆地址
  • 毕业设计做网站还是系统温州市建设小学网站首页
  • c mvc 大型网站开发电子商务公司有哪些
  • 建设网站本地调试中国钓鱼网站大全
  • php网站做代理我要发布信息
  • 省机关事务局网站建设管理情况濮阳中强网站建设
  • 音乐网站开发答辩ppt地推网推平台
  • 织梦网站后台管理自己做企业网站的步骤
  • 成都高端模板建站网站架构企业收费标准
  • 自己做效果图的网站水果网页制作模板
  • 网站服务器租金手机端steam怎么调中文
  • 上海专业高端网站建设服务器广西百度seo
  • 重庆做网站 外包公司有哪些网站定制兴田德润实力强
  • 小程序跳转到网站内贸网站有多少
  • 苏州哪家做网站便宜网站如何为关键词做外链
  • 专业的高端网站制作公司淮北公司做网站
  • app手机网站开发什么网站可以免费做会计初级
  • 一个网站需要怎么做北京h5网站制作
  • html个人网站完整代码网络营销外包公司上班
  • 荆州企业网站建设做ar的网站
  • 个人网站收款接口win10有网但是浏览器网页打不开
  • 郑州龙华小学网站建设营销网站建设教学
  • 建网站用哪个好国内知名软件开发公司
  • 接网站建设的单子设计师培训学费
  • 学院网站建设申请报告装潢设计培训
  • 萍乡做网站的网站建设算软件还是硬件
  • 建设学校网站的作用闽清建设局网站
  • 网站建设 技术 哪些北京网站设计我选刻
  • 西安网站seo优化公司品牌网站部门建设方案