logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

RTthread中的内存池理解

本文介绍了单片机中ROM、RAM和FLASH的基本概念及内存池的实现原理。ROM用于存储不丢失的数据,RAM存放临时变量且断电即清零。重点阐述了内存池机制:通过预先划分大小相同的标准内存块(如8字节)来避免内存碎片和分配时间不均的问题。文中以STM32为例,详细说明了内存池初始化函数rt_mp_init的参数含义,以及分配(rt_mp_alloc)和释放(rt_mp_free)内存块的操作流程。最

#算法#c++#嵌入式 +2
rtthread信号 基础讲解

信号处理是操作系统中线程通信的重要机制。当线程收到信号时,系统会中断当前执行流程,转而执行预设的信号处理函数。处理方法分为三类:自定义处理函数、忽略信号或采用系统默认处理。在RT-Thread中,通过rt_signal_install()注册处理函数,rt_signal_unmask()解除信号屏蔽,rt_thread_kill()发送信号。系统默认处理可能直接终止接收线程。示例展示了高优先级线程

#服务器#算法#linux +2
RTthread消息队列学习

RT-Thread消息队列通过环形缓冲区实现线程间通信。发送线程调用rt_mq_send()将数据从局部变量拷贝到队列缓冲区,接收线程通过rt_mq_recv()从队列拷贝到目标缓冲区。示例代码展示了创建消息队列(mq_t)、发送线程(send_data)和接收线程(rec_data)的过程,其中消息队列大小为64字节×10条,采用FIFO调度策略。发送线程每秒发送5字节数据,接收线程等待并打印收

#算法#嵌入式#开发语言
RT thread邮箱知识点讲解

RT-Thread邮箱机制在嵌入式系统中发挥重要作用:1)高效传递指针,避免大数据拷贝;2)自带缓冲队列,解决生产消费速度不匹配问题;3)自动线程调度,空闲时挂起接收线程,有数据时唤醒;4)实现中断与线程的安全通信。通过温湿度数据传输示例,展示了使用malloc动态分配内存避免数据覆盖,以及指针传递的实现方法。关键点包括:动态内存管理确保数据独立性,类型转换实现指针传递,以及必须的内存释放操作。该

#开发语言#算法#嵌入式 +1
RT thread中断管理学习记录

本文介绍了RT-Thread环境下中断处理的核心知识:1)中断本质是硬件触发的紧急事件,CPU会立即保存现场并执行ISR;2)NVIC控制器管理中断优先级,支持中断嵌套;3)ISR必须遵循"快进快出"原则,禁止任何阻塞操作。文章详细讲解了中断处理的分层架构(上半部ISR快速响应,下半部线程处理耗时任务)和关键API的使用方法,包括中断安装、屏蔽/解除屏蔽、全局中断控制等。最后通

#学习#单片机#嵌入式硬件
RT thread邮箱知识点讲解

RT-Thread邮箱机制在嵌入式系统中发挥重要作用:1)高效传递指针,避免大数据拷贝;2)自带缓冲队列,解决生产消费速度不匹配问题;3)自动线程调度,空闲时挂起接收线程,有数据时唤醒;4)实现中断与线程的安全通信。通过温湿度数据传输示例,展示了使用malloc动态分配内存避免数据覆盖,以及指针传递的实现方法。关键点包括:动态内存管理确保数据独立性,类型转换实现指针传递,以及必须的内存释放操作。该

#开发语言#算法#嵌入式 +1
rt thread 互斥锁的学习

RTOS互斥锁机制解析:互斥锁用于线程同步,确保同一时间只有一个线程访问共享资源,类比于卫生间门锁机制。关键特性包括所有权绑定(获取锁的线程必须释放)、临界区保护(单线程独占执行)和优先级继承(防止高优先级线程被低优先级线程阻塞)。通过两个RT-Thread代码示例演示了互斥锁的实际应用:时间结构体保护案例展示了读写操作的互斥保护;优先级继承案例则呈现了当高优先级线程等待低优先级线程持有的锁时,系

#学习#嵌入式#c#
ROS达妙机械臂main函数

翻译过来叫“节点句柄”。你可以把它理解为一部**“公共对讲机”**。有了它,你的程序才能向外发布话题(比如机械臂的实时位置),或者接收外界的指令。,它专门用来读取只属于你这个程序的私有配置文件(也就是我们在 yaml 文件里写的串口号。程序会用红色字体打印一句错误提示,然后直接结束(:这是一个安全检查。如果串口没插好,或者电机没连上,:这是所有 ROS C++ 程序必须写的第一句话。的初始化函数:

#机器人#自动驾驶#人工智能
ROS系统URDF机器人建模

本文介绍了在ROS中使用URDF文件实现机器人模型可视化的方法。通过创建包含底盘、传感器等部件的URDF文件,利用XML语法描述机器人结构,包括几何形状(立方体/圆柱体/球体)、材质颜色和坐标系偏移等属性。详细说明了RViz的配置流程,包括添加RobotModel组件、设置固定坐标系和保存配置文件等关键步骤。同时提供了优化RViz启动的方法,通过launch文件参数自动加载配置文件。最终实现了在R

文章图片
#机器人#人工智能#单片机 +2
ROS系统xacro建模优化rviz显示

本文介绍了使用Xacro优化URDF机器人模型的方法。首先分析了URDF的三个痛点:重复劳动、参数修改困难和缺乏数学运算。然后展示了如何使用Xacro的property定义常量、macro宏定义和文件包含功能,构建包含底盘、轮子、摄像头和激光雷达的小车模型。通过参数化设计和宏封装,实现了代码复用和便捷修改。最后结合Arbotix控制器实现小车运动控制,详细解释了从Xacro文件解析到RViz显示的

文章图片
#学习#机器人#嵌入式 +1
    共 11 条
  • 1
  • 2
  • 请选择