freertos引起阻塞的函数
时间: 2023-07-11 16:00:04 浏览: 51
FreeRTOS 中有一些会引起阻塞的函数,比较常见的包括:
1. vTaskDelay():用于让任务延迟一段时间,这个函数会让任务进入阻塞态,直到延迟时间结束。
2. xQueueReceive():用于从队列中接收数据,如果队列中没有数据,则任务会进入阻塞态,直到有数据可用。
3. xSemaphoreTake():用于获取一个二值信号量或者计数信号量,如果信号量的值为 0,则任务会进入阻塞态,直到信号量的值变成非 0。
4. xTaskNotifyWait():用于等待任务通知,如果没有任务通知,则任务会进入阻塞态,直到有任务通知。
5. xEventGroupWaitBits():用于等待事件组中的某些事件,如果没有事件满足条件,则任务会进入阻塞态,直到有事件满足条件。
需要注意的是,在使用这些函数时,应该尽量控制阻塞时间,避免影响系统的实时性。
相关问题
FreeRTOS回调函数
FreeRTOS回调函数是指在使用FreeRTOS实时操作系统时,通过设置软件定时器来执行指定的功能函数的一种机制。它允许用户在设定的时间到达后自动执行特定的功能函数,这个功能函数就是回调函数。
在使用FreeRTOS的回调函数时,需要注意一些事项。首先,回调函数的执行周期由定时器决定,这是定时器的定时周期。其次,回调函数的注意事项是不可以调用有阻塞的函数API,如vTaskDelay()、vTaskDelayUntil()等。因为当回调函数中存在这些函数时,CPU会被占用,导致定时器任务无法处理其他定时器的超时任务。如果阻塞事件的时间过长,可能导致超时事件得不到及时处理,从而导致系统异常。
回调函数是在FreeRTOS的定时器服务任务中执行的。由于定时器服务任务是由内核产生的,无法由用户控制,因此其运行周期时间是固定的。
因此,使用FreeRTOS回调函数可以实现定时执行特定功能的需求,但需要注意阻塞函数的使用和定时器服务任务的特性。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [FreeRTOS(6)----软件定时器](https://blog.csdn.net/weixin_63032791/article/details/130795706)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
freertos 挂起函数
FreeRTOS是一个实时操作系统内核,支持多种处理器体系结构和多种开发工具,可以用于嵌入式系统中。在FreeRTOS中,任务的调度和管理是通过挂起和恢复任务来完成的。挂起任务是指将任务从运行状态转变为阻塞状态,以便其他任务可以运行。FreeRTOS提供了vTaskSuspend函数来挂起任务,该函数接受一个参数,即指向被挂起任务的句柄。使用vTaskSuspend函数可以暂停执行当前任务,并将指定任务挂起,使其进入阻塞状态。被挂起的任务只有在被恢复后才会继续执行。如果要恢复挂起的任务,可以使用vTaskResume函数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)