FreeRTOS
丫丫lover
嵌入式工程师进行中。。。
展开
-
FreeRTOS中mutex用法
FreeRTOS中mutex用法:FreeRTOS为了解决资源保护的问题引入了互斥量(Mutex)。Mutex 的发音是 /mjuteks/ ,其含义为互斥(体),这个词是Mutual Exclude的缩写。Mutex是一把钥匙,一个人拿了就可进入一个房间,出来的时候把钥匙交给队列的第一个。一般的用法是用于串行化对critical section代码的访问,保证这段代码不会被并行的运行。mutex是一个二进制标志,可以通过它来确保执行流在代码关键区(critical section of code原创 2020-11-09 16:08:47 · 5144 阅读 · 0 评论 -
FreeRTOS 中Semaphore 的用法
FreeRTOS 中Semaphore 的用法FreeRTOS引入了信号量(Semaphore)概念,通过信号量的同步机制可以使消费者任务在数据还没到达的时候进入阻塞状态,并让出CPU资源给其他任务。信号量是一种同步机制,可以起到消息通知和提高CPU利用率的作用。网摘:Semaphore是一件可以容纳N人的房间,如果人不满就可以进去,如果人满了,就要等待有人出来。对于N=1的情况,称为binary semaphore。一般的用法是,用于限制对于某一资源的同时访问。semaphore可以由其它进程释放原创 2020-11-09 15:32:53 · 5379 阅读 · 0 评论 -
Freertos中messageQueue 用法
Freertos中messageQueue 用法信号量Semaphore和互斥量mutex,只能用于进程间的同步,并不能传递更多的数据。在freertos,提供了messageQ,用来在实现进程同步的同时,传递数据。进程间通信,或者ISR和TASK之间通信,如果没有messageQ,则只能通过全局变量来进行,但是这有个问题,就是资源管理的问题。freertos,提供了messageQ来替代全局变量传递数据。当消息被填充到messageQ中时,是复制了一个副本的,这样做的代价是,数据复制的CPU时间原创 2020-11-09 15:06:56 · 1863 阅读 · 0 评论