STM32_FREERTOS
文章平均质量分 56
!今天学习了吗
嵌入式_小信号处理_PCB_F
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FREERTOS_定时器——创建和基本使用
FreeRTOS软件定时器是基于系统时钟tick实现的,由内核定时器服务任务管理。定时器分为周期模式(自动重装载)和单次模式(仅触发一次),回调函数必须简短且不能调用阻塞API。创建定时器需包含头文件、定义句柄、调用xTimerCreate()设置名称、周期、模式和回调函数,并通过xTimerStart()启动。核心操作包括实现回调函数、使用xTimerReset()/xTimerChangePeriod()等API动态控制定时器。示例展示了单次定时器(按键触发3秒后恢复默认模式)和周期定时器(动态调整LE原创 2025-12-02 22:23:09 · 321 阅读 · 0 评论 -
FREERTOS_任务通知——使用
FreeRTOS任务通知机制提供轻量级任务间通信方案,具有三大特点:1)直接通过任务句柄发送/接收32位通知数据,无需创建独立对象;2)支持覆盖、叠加等多种通知模式;3)可替代简单队列/信号量。使用时需包含头文件并获取接收任务句柄,发送方调用xTaskNotify()指定句柄和模式,接收方通过xTaskNotifyWait()等待通知。示例演示了LED控制场景:高16位存储命令标识(如CMD_SET_DELAY),低16位传递参数(如闪烁延时),实现高效的一对一通信。该机制节省内存且灵活,适合传递少量数据的原创 2025-12-02 21:31:55 · 383 阅读 · 0 评论 -
FREERTOS_事件组——创建和使用
本文介绍了事件组的创建与使用方法。首先通过xEventGroupCreate()创建事件组,并为每个事件分配独立的事件位(如EVENT_BIT_0)。核心操作包括xEventGroupSetBits()设置事件位和xEventGroupWaitBits()等待事件位,支持"或"(任意事件)和"与"(所有事件)两种组合逻辑模式。典型应用场景包括多事件触发判断和多任务同步,具有事件位独立、灵活等待模式和自动清除等特性。最后展示了如何通过位运算判断具体触发的事件组合。原创 2025-11-27 21:43:30 · 288 阅读 · 0 评论 -
FREERTOS_互斥量_创建和使用
本文介绍了互斥量的创建与使用方法。首先通过包含头文件、定义句柄并调用xSemaphoreCreateMutex()创建互斥量。使用时遵循"先获取、后使用、用完释放"原则,通过xSemaphoreTake()获取互斥量保护临界区,再通过xSemaphoreGive()释放。互斥量具有所有权特性(只能由获取者释放)和优先级继承机制,但不能在中断中使用。最后以串口打印为例,展示了互斥量如何保护共享资源访问。关键点包括临界区代码应尽量简短,避免长时间阻塞其他任务。原创 2025-11-27 20:47:28 · 199 阅读 · 0 评论 -
FREERTOS_信号量_创建和使用
摘要:信号量在嵌入式系统中用于任务同步和资源管理。二进制信号量(xSemaphoreCreateBinary)用于任务同步,初始为空;计数型信号量(xSemaphoreCreateCounting)用于资源计数,可设置初始值。核心操作函数xSemaphoreGive()和xSemaphoreTake()通用,分别实现信号量释放(计数值+1)和获取(计数值-1)。使用时需检查创建结果,处理可能的失败情况。二进制信号量适合事件触发场景,计数型信号量适用于资源管理,当资源不足时任务会阻塞等待。原创 2025-11-27 17:28:04 · 254 阅读 · 0 评论 -
FREERTOS任务创建
任务函数包含任务的具体执行逻辑,必须是一个无限循环,并包含适当的延时。为新任务定义 标识符(句柄)和属性(名称、栈大小、优先级)。FreeRTOS 内核会根据任务优先级自动进行调度,在使用函数前进行声明,符合 C 语言规范。函数是任务主动让出 CPU 的关键。这是创建任务的核心步骤,调用。函数来创建并启动任务。原创 2025-11-25 14:04:27 · 183 阅读 · 0 评论 -
STM32基于HAL库创建驱动OLED的FREERTOS任务
摘要:本文介绍了基于STM32F103C8T6的OLED显示屏I2C驱动实现方法。使用PB8(SCL)和PB9(SDA)引脚配置为开漏输出模式,通过软件模拟I2C协议完成通信。详细说明了OLED初始化流程、I2C时序控制、显示功能实现以及FreeRTOS任务创建。包含完整的驱动代码,支持字符、字符串及多种数字格式显示,采用8x16点阵字库,提供清屏、光标定位等功能。在FreeRTOS中创建了优先级为Normal的显示任务,初始显示"STM3210"菜单界面,实现了基本的OLED显示控制功原创 2025-11-25 20:17:38 · 312 阅读 · 0 评论 -
FREERTOS_队列_创建和使用
摘要:本文介绍了队列的创建与基本使用方法。创建队列需要包含头文件、定义句柄并调用xQueueCreate函数,需检查创建结果。队列核心操作包括发送和接收消息,使用xQueueSend和xQueueReceive函数实现。队列采用数据拷贝机制确保安全,并支持阻塞机制优化CPU利用率。发送时队列满可阻塞等待,接收时队列空也可阻塞等待,避免轮询消耗资源。注意一个句柄只能绑定一个队列。原创 2025-11-27 17:01:05 · 268 阅读 · 0 评论
分享