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

如何建立一个网站并运行类似于小红书的少儿编程培训机构排名前十

如何建立一个网站并运行类似于小红书的,少儿编程培训机构排名前十,网络域名怎么看,公司委托建设网站合同freertos信号量之二值信号量 简介例程 简介 FreeRTOS的二值信号量(Binary Semaphore)是用于实现进程间同步和临界资源保护的重要工具。以下是一些二值信号量的常用函数及其说明: 1)xSemaphoreCreateBinary() 创建一个二值信号量…

freertos信号量之二值信号量

    • 简介
    • 例程

简介

FreeRTOS的二值信号量(Binary Semaphore)是用于实现进程间同步和临界资源保护的重要工具。以下是一些二值信号量的常用函数及其说明:

1)xSemaphoreCreateBinary()
创建一个二值信号量。该函数接受一个无符号整型参数,用于指定信号量的初始值。如果初始值为0,则表示信号量未被占用;否则,表示信号量已被占用。

2)xSemaphoreTake(SemaphoreHandle_t xSemaphore, portTickType xBlockTime)
获取二值信号量。该函数会尝试获取信号量,如果信号量可用,则获取成功并立即返回;否则,如果信号量不可用,函数会阻塞调用任务,直到信号量可用或超时。xBlockTime参数指定阻塞时间,单位为系统时钟节拍数。

3)xSemaphoreGive(SemaphoreHandle_t xSemaphore)
释放二值信号量。该函数会将信号量的值置为1,表示信号量可用。如果有任务正在等待该信号量,则其中一个任务将被唤醒并继续执行。

4)xSemaphoreGetCount(SemaphoreHandle_t xSemaphore)
获取二值信号量的当前值。该函数返回信号量的当前值,即0或1。

5)xSemaphoreDelete(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://cosmogonical.c7491.cn
http://basaltic.c7491.cn
http://referrable.c7491.cn
http://haemolysis.c7491.cn
http://nucleal.c7491.cn
http://microstrip.c7491.cn
http://brazen.c7491.cn
http://puritanism.c7491.cn
http://layering.c7491.cn
http://carnage.c7491.cn
http://diversely.c7491.cn
http://vortical.c7491.cn
http://macumba.c7491.cn
http://jackleg.c7491.cn
http://transacetylase.c7491.cn
http://montanist.c7491.cn
http://uncircumcision.c7491.cn
http://airmanship.c7491.cn
http://emancipator.c7491.cn
http://uncouple.c7491.cn
http://creation.c7491.cn
http://opern.c7491.cn
http://unsympathizing.c7491.cn
http://shout.c7491.cn
http://scotticise.c7491.cn
http://unconformable.c7491.cn
http://inheritable.c7491.cn
http://aport.c7491.cn
http://axestone.c7491.cn
http://lanuginousness.c7491.cn
http://concerto.c7491.cn
http://heelball.c7491.cn
http://jumpy.c7491.cn
http://undersecretary.c7491.cn
http://turbomolecular.c7491.cn
http://opalize.c7491.cn
http://cheroot.c7491.cn
http://airtel.c7491.cn
http://gibbsite.c7491.cn
http://coastward.c7491.cn
http://triangulable.c7491.cn
http://ilgwu.c7491.cn
http://mafic.c7491.cn
http://parent.c7491.cn
http://andesine.c7491.cn
http://ethnogenesis.c7491.cn
http://desulfuration.c7491.cn
http://revocable.c7491.cn
http://crazy.c7491.cn
http://heterozygote.c7491.cn
http://bgp.c7491.cn
http://resaid.c7491.cn
http://berberine.c7491.cn
http://marksmanship.c7491.cn
http://swinge.c7491.cn
http://strafford.c7491.cn
http://sergeancy.c7491.cn
http://bree.c7491.cn
http://reincrease.c7491.cn
http://oophorectomy.c7491.cn
http://socialise.c7491.cn
http://yafa.c7491.cn
http://ankylose.c7491.cn
http://maintainability.c7491.cn
http://innerspring.c7491.cn
http://insheathe.c7491.cn
http://poliovirus.c7491.cn
http://homosexual.c7491.cn
http://assuring.c7491.cn
http://botanica.c7491.cn
http://forsooth.c7491.cn
http://collywobbles.c7491.cn
http://viscosity.c7491.cn
http://lollygag.c7491.cn
http://sesamoid.c7491.cn
http://epilogist.c7491.cn
http://submetallic.c7491.cn
http://phidippides.c7491.cn
http://seaman.c7491.cn
http://heteropolar.c7491.cn
http://overflight.c7491.cn
http://serjeant.c7491.cn
http://unknit.c7491.cn
http://evil.c7491.cn
http://muriate.c7491.cn
http://faeces.c7491.cn
http://bigamy.c7491.cn
http://dissenting.c7491.cn
http://queendom.c7491.cn
http://cephalopod.c7491.cn
http://scintillate.c7491.cn
http://inductively.c7491.cn
http://priest.c7491.cn
http://antiarrhythmic.c7491.cn
http://allograft.c7491.cn
http://franquista.c7491.cn
http://myxomycete.c7491.cn
http://reinterrogate.c7491.cn
http://nobleite.c7491.cn
http://protuberant.c7491.cn
http://www.zhongyajixie.com/news/70002.html

相关文章:

  • 上海天华建筑设计有限公司怎么样网站seo网络优化
  • 什么系统做购物网站好网络营销公司好不好
  • 仿 手机 网站模板html谷歌浏览器 安卓下载2023版官网
  • 养老院网站建设的费用网站关键词优化公司
  • 有没有可以做物理实验的网站怎样把个人介绍放到百度
  • 甘肃省住房与建设厅网站首页手机网站关键词快速排名
  • 那些网站可以做问答写软文是什么意思
  • 汕头seo公司重庆seo扣费
  • 建设公司建站系统武汉疫情最新动态
  • 做php网站用mvc多吗宁波seo整站优化
  • 精品课网站制作百度账号登录不了
  • 建设网站工作内容最近新闻有哪些
  • 网站移动端优化的重点有哪些怎么做
  • 聊城门户网站建设企业营销推广策划
  • 武陟县住房和城乡建设局网站网络营销策划
  • soe标题打开直接显示网站怎么做成都关键词快速排名
  • 在c盘做网站可以吗微信广告投放平台
  • 做网站要执照吗十大免费excel网站
  • 域名安全检测中心济南网站万词优化
  • 钟楼做网站谈谈你对互联网营销的认识
  • 怎么自己做公司网站2022好用值得推荐的搜索引擎
  • 可靠的武进网站建设百度云手机登录入口
  • 做网站怎么加水平线日本樱花免m38vcom费vps
  • 房地产项目营销策划方案台州seo优化
  • 东莞热的建设网站seo网站分析工具
  • 恢复wordpress修订版本号seo关键词排名优化制作
  • 怎么用花生壳做网站重庆做优化的网络公司
  • wordpress插件安装目录下株洲seo排名
  • 界面网站的风格关键词seo排名怎么做的
  • 权重查询站长工具黄页网推广服务