logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【STM32 串口完全指南】从轮询到中断再到 DMA,一步步教你搞定串口收发!

串口(UART/USART)是嵌入式开发中最常用的通信接口,不管是调试打印、传感器数据读取,还是上位机指令交互,都离不开它。很多新手刚接触串口时,会被“轮询/中断/DMA”这三种模式搞懵:到底什么时候用轮询?中断和DMA又有什么区别?这篇文章会从基础到进阶,带你吃透STM32串口的三种工作模式,每个模式都会讲清原理、CubeMX配置、带注释的示例代码,以及测试验证方法,看完就能直接用到你的项目里!

文章图片
#stm32#单片机#嵌入式硬件
旋转关节 (Revolute Joint) 和棱柱关节 (Prismatic Joint)

特性旋转关节 (Revolute Joint)棱柱关节 (Prismatic Joint)运动类型旋转 (Rotation)平移 (Translation)关节变量θ (角度)d (距离)自由度1 个旋转自由度1 个平移自由度常见应用肩、肘、腕关节伸缩臂、线性执行器大多数工业机械臂(如 SCARA、六轴机器人)主要由旋转关节组成,因为它们能提供较大的工作空间和灵活性。而一些特定应用(如笛卡尔坐标机

文章图片
#机器人
机器人运动学中的Actuator space, Joint space 和 Cartesian space

机器人学中,执行器空间、关节空间和笛卡尔空间是控制机械系统的三个关键概念。执行器空间直接关联硬件参数(如电机位置),用于底层控制;关节空间描述各关节状态,便于路径规划;笛卡尔空间直观表示末端执行器的位姿,适合任务目标设定。三者通过正向/逆向运动学相互转换:执行器空间需映射至关节空间,关节空间与笛卡尔空间可双向转换。理解这些空间及其关系对机器人系统设计和精确控制至关重要。

文章图片
#机器人
保姆级解析:C++浮点转定点数代码(机器人控制场景实战)

本文解析的浮点转定点数代码,核心逻辑是“线性映射+归一化+整数映射”,通过3步完成转换:① 计算物理量范围跨度;② 浮点数归一化到0~1;③ 映射到固定位数的整数。这种转换能大幅降低硬件运算开销,是机器人控制、嵌入式开发中“高效数据处理”的常用技巧。

文章图片
#c++#机器人#开发语言
使用VScode中插件进行Latex编写,保姆级资料分享

【【Vscode+TeXLive】LaTeX环境安装配置详细教学,内置AI编辑,可适配Codex,一键更换期刊模板,附赠所需安装包及各期刊LaTeX模板)】 https://www.bilibili.com/video/BV1GcG86METf/?【Latex:超详细新手安装latex:TexLive环境+VScode编辑器】 https://www.bilibili.com/video/BV1y

文章图片
#vscode#ide#编辑器
VMware安装Ubuntu20.04以及安装ROS1

本文提供了Ubuntu系统安装及配置的完整指南:1)通过VMware虚拟机快速安装Ubuntu系统(推荐两个8分钟教程视频);2)使用鱼香ROS的一键安装方法配置ROS1开发环境;3)详细介绍了4种Windows与Ubuntu系统间互传文件的方法(参考CSDN技术博客)。这些资源涵盖了从系统搭建到开发环境配置的完整流程,特别适合机器人操作系统(ROS)开发者快速搭建开发环境。所有参考资料均附视频教

文章图片
#linux
一、驱动基础

驱动的核心作用是让硬件动起来,它是底层硬件和上层软件之间的桥梁,直接与硬件打交道。在无操作系统(裸机)的场景中,驱动开发直接通过操作寄存器控制硬件,比如单片机控制 LED 灯的程序,无需额外的系统框架。在Linux 系统中,驱动开发需要遵循系统提供的驱动框架,为应用程序提供统一的调用接口,整体架构为「应用→操作系统→驱动→硬件」。字符设备:需按串行顺序访问的设备,如鼠标块设备:支持任意顺序访问的存

文章图片
#嵌入式硬件#linux
FreeRTOS工程项目实践

任务之间、中断与任务间,可以使用全局变量和队列进行信息传递;消息队列可以方便地阻塞任务,但是时间和空间开销比全局变量大;消息队列在任务内和中断内要使用不同的函数;为节省消息队列开销,可以在保证数据完整性的情况下传递指针;队列大小要依据实际情况选择,太小会丢数据,太大会浪费内存。本质特性:信号量的本质是消息队列,但其中的元素均为空元素,不占用实际存储空间。核心用途:同步:协调任务的执行时机(解决 “

文章图片
#嵌入式硬件#单片机#c语言 +1
    共 11 条
  • 1
  • 2
  • 请选择