logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

STM32 + FreeRTOS 课程(3):任务优先级设计详解

摘要:FreeRTOS中任务优先级决定了CPU资源的分配,但不代表任务的重要性。优先级越高,任务越容易获得CPU使用权,但高优先级任务应合理使用阻塞机制(如延时、等待信号量)以避免独占CPU。设计时应根据实时性需求分配优先级,如控制任务(高实时性)设为最高,通信任务中等,调试任务最低。避免所有任务同优先级,同时注意优先级反转问题。合理使用阻塞机制而非忙等待,才能构建稳定、实时的系统。下一节将探讨任

文章图片
#stm32#mcu#c语言 +1
STM32 + FreeRTOS 课程(2):Semaphore 与 Mutex详解(任务同步与资源保护)

本文介绍了FreeRTOS中信号量和互斥锁的使用。信号量(Semaphore)用于任务间事件通知(如中断事件),不传递具体数据,包含二值信号量创建、获取(xSemaphoreTake)和释放(xSemaphoreGive)操作,中断中需用xSemaphoreGiveFromISR。互斥锁(Mutex)则保护共享资源(如UART),防止多任务同时访问,通过xSemaphoreCreateMutex创

文章图片
#单片机#机器人#stm32 +2
STM32 + FreeRTOS 课程(1):Task 与基础周期控制、Queue 通信入门

本文介绍了FreeRTOS在STM32机器人开发中的基础应用,重点讲解了任务创建和队列通信机制。主要内容包括: 任务创建(xTaskCreate):详细说明任务函数、名称、栈大小、优先级等参数的设置方法,强调栈空间合理分配的重要性。 任务调度控制:对比vTaskDelay和vTaskDelayUntil的区别,指出固定周期控制任务应使用后者以保证精确时序。 队列通信机制:讲解队列创建(xQueue

文章图片
#stm32#mcu#机器人
STM32 + FreeRTOS 课程(1):Task 与基础周期控制、Queue 通信入门

本文介绍了FreeRTOS在STM32机器人开发中的基础应用,重点讲解了任务创建和队列通信机制。主要内容包括: 任务创建(xTaskCreate):详细说明任务函数、名称、栈大小、优先级等参数的设置方法,强调栈空间合理分配的重要性。 任务调度控制:对比vTaskDelay和vTaskDelayUntil的区别,指出固定周期控制任务应使用后者以保证精确时序。 队列通信机制:讲解队列创建(xQueue

文章图片
#stm32#mcu#机器人
生命周期和控制循环,从配置ros2_control到会写真实机器人硬件驱动的关键一步

摘要:本文介绍了TideHardwareInterface硬件接口的实现,这是一个基于ROS2硬件接口规范的机器人控制系统。该接口支持多种电机类型(M2006/M3508/GM6020/DM等),通过串口与STM32通信,实现状态反馈和命令控制。关键功能包括:1. 初始化配置电机参数和通信端口;2. 提供标准化的状态和命令接口;3. 支持虚拟控制模式调试;4. 实现串口数据收发和心跳检测;5. 内

文章图片
#机器人#学习#ubuntu +4
Robomaster自定义控制器图传链路说明

本文总结了自定义控制器通信的常见问题与解决方案。主要包括:1) 控制器接线方法,建议使用新图传VT03套件,注意TTL转RS232需接3.3V电源;2) 机器人接线时图传串口线直接连接控制板;3) 建议使用数组而非memcpy函数进行数据包发送;4) 接收数据时无需匹配串口号,推荐采用双缓冲区接收方式。最后强调每年通信协议可能变化,应以官方协议为准,可参考上海大学开源代码学习。遇到问题可在QQ群咨

#单片机#vscode#机器人
电机PID,串级PID,MIT的PD、tor调参的经验之谈

本文介绍了电机三环控制系统的调节方法,核心原则是由内向外依次调节电流环、速度环和位置环。电流环通常采用P控制,速度环使用PI控制,位置环只需P控制。调节时要逐步增大参数,观察响应情况,避免超调和震荡。微分控制(D)通常不推荐使用,但在特殊情况下可谨慎添加。对于RM电机等已内置电流环控制的设备,只需调节速度和位置环。文章还提到MIT控制和摩擦补偿的方法,并建议通过上位机绘制曲线来辅助调试。最后作者表

文章图片
#单片机#嵌入式硬件#c++ +3
到底了