- 博客(42)
- 收藏
- 关注
原创 【ros-humble】【虚拟机】网络配置
虚拟机网络设置对比:桥接模式可使用手机热点实现SSH连接和开发板ping通(校园网不可用),适合TCP连接;NAT模式下可SSH但开发板无法ping通(校园网可用),适合无TCP需求场景。开发板联网需在虚拟网络编辑器中将子网IP设为与电脑同网段。两种模式各有利弊,可根据实际网络需求选择配置。
2025-08-27 19:42:15
118
原创 【龙芯久久派新世界】3.交叉编译链文件(CMakeLists.txt)
本文介绍了如何配置交叉编译工具链文件(cross.cmake)和使用CMake构建项目的方法。主要内容包括: 交叉编译配置: 设置目标系统(Linux)和处理器架构(loongarch64) 指定交叉编译器路径(loongarch64工具链) 配置sysroot路径和目标系统根文件系统 控制资源查找路径模式 CMakeLists.txt文件: 包含交叉编译配置 设置编译标准和选项 查找OpenCV库并链接 创建可执行文件 构建脚本(build.sh): 清理构建目录 执行CMake和make编译 错误检查和
2025-08-26 14:15:33
772
原创 【Linux】timerfd和POSIX定时器(timer_create)
摘要: Linux系统提供两种定时器机制:timerfd和POSIX定时器(timer_create)。核心区别在于通知机制:timerfd通过文件描述符与epoll等事件循环无缝集成,适合高性能网络编程;POSIX定时器依赖信号或线程,处理复杂且开销较大。timerfd优势显著:编程简单(类似文件I/O)、性能更优(减少上下文切换)、多定时器管理便捷,尤其适合需与I/O事件协同的场景。POSIX定时器仅推荐用于简单后台任务或旧代码兼容。结论:现代开发应优先选用timerfd,其设计更符合Linux“一切皆
2025-08-25 19:54:08
995
原创 【Linux】timerfd定时器
timerfd:创建一个新的定时器对象,并返回对应的文件描述符。:启动、停止或设置定时器。:获取定时器的当前设置(可选)。
2025-08-25 19:45:17
433
原创 【ros-humble】astrapro使用
本文详细介绍了在ROS2环境下配置Astra深度相机和ORB-SLAM3的完整流程。主要内容包括:1. Astra相机驱动安装,涵盖依赖安装、udev规则配置和编译方法;2. 相机启动参数详解,包括设备识别、数据流控制、点云配置等关键参数;3. ORB-SLAM3安装指南,包含依赖安装(Eigen3、Pangolin)、源码修改和编译配置;4. 系统集成方法,涉及环境变量设置和ROS2节点修改;5. 虚拟机环境下RViz2显示问题的解决方案。该文档为开发者提供了从硬件配置到SLAM系统集成的完整技术参考。
2025-08-20 15:13:29
511
原创 【ros-humble】6.launch动作python写法
本文介绍了ROS2中launch文件的基本与进阶使用方法。基本用法包括:声明启动参数、配置节点参数、设置输出方式等。进阶功能涉及:包含其他launch文件、条件执行进程、定时执行动作、日志记录等。通过示例代码展示了如何启动多个节点、控制执行顺序、以及动态配置参数。这些方法可用于构建复杂的ROS2应用启动流程,实现节点间的协同工作。
2025-08-13 09:41:44
134
原创 【ros-humble】5.python和C++(参数通讯)
参数通信机制摘要 参数通信(Parameter Communication)是ROS2中动态配置节点行为的机制,支持通过键值对(如{"max_speed":2.0})在运行时获取、设置或监听参数,无需重启节点。核心功能包括: 命令行操作:通过ros2 param命令实现参数列表查看(list)、获取(get)、设置(set)及导入导出YAML配置文件(dump/load)。 代码实现:节点通过declare_parameter声明参数,get_parameter获取值,set_param
2025-08-12 01:19:02
191
原创 【ros-humble】4.C++写法巡场海龟(服务通讯)
本文介绍了ROS2中实现海龟控制的服务端和客户端代码。服务端节点Turtle_Control通过订阅海龟位姿并发布速度指令,实现目标点追踪功能,同时提供patrol服务接口用于设置目标位置。客户端节点TurtleControler定时生成随机目标坐标,通过服务调用发送给服务端。代码展示了ROS2的核心功能:节点创建、服务定义、话题发布/订阅、服务调用等,并实现了海龟运动控制的基本逻辑。
2025-08-11 22:49:04
215
原创 【ros_humble】3.人脸检测python(服务通讯)
参数通信(Parameter Communication)是一种动态配置节点行为的机制,允许节点在运行时通过键值对(key-value)的形式获取、设置或监听参数。作用:动态调整节点配置(如算法参数、模式切换),无需重新编译或重启节点。存储形式:键值对(例如通信方式:基于服务(Service)和话题(Topic)实现,底层使用 ROS 2 的中间件。
2025-08-09 19:08:53
884
原创 【ros-humble】2.自定义通讯接口发布者python,qt使用(话题)
本文介绍了在ROS2中创建自定义接口并实现系统状态发布功能的步骤。首先创建新工作空间和功能包status_interfaces,添加依赖项builtin_interfaces和rosidl_default_generators。定义SystemStatus.msg消息格式,包含时间戳、主机名、CPU/内存/网络使用情况等字段。然后编写Python发布者节点,使用psutil采集系统信息,通过定时器每秒发布一次SystemStatus消息。最后配置setup.py并编译运行,可通过ros2 topic ech
2025-08-08 22:06:23
412
原创 【qt5_study】3.详细介绍信号(SIGNAL)与槽(SLOT):必学
有了信号与槽的编程机制,在 Qt中处理界面各个组件的交互操作时变得更加直观和简单。信号(Signal)就是在特定情况下被发射的事件,例如 PushButton 最常见的信号就是鼠标单击时发射的 clicked() 信号,一个 ComboBox 最常见的信号是选择的列表项变化时发射的CurrentIndexChanged() 信号。槽(Slot)就是对信号响应的函数。槽就是一个函数,与一般的 C++函数是一样 的,可以。
2025-08-06 20:20:27
555
原创 【qt5_study】2.使用Qt Designer构造UI界面(信号与槽)
Qt Designer是属于 Qt Creator的一个功能而已。Qt Designer也叫 UI设计师或者 UI设计器,这都是指的同一个东西而已。找到 Push Button,然后拖拽到中间的显示窗体里,如下图。
2025-08-05 23:15:05
468
原创 【qt5_study】1.Hello world
本文介绍了Qt开发中项目创建和文件结构的基本知识。主要内容包括:1.项目模板选择,推荐使用Qt Widgets Application,基类通常选择QMainWindow或QWidget;2.项目文件结构,包含.pro项目管理文件、头文件、源文件和.ui界面文件;3.界面设计器使用,通过拖拽控件和设置属性来设计界面;4.项目构建运行流程,从main()函数入口到窗口显示的基本原理。文章特别强调了在嵌入式开发中通常使用QWidget作为基类,并详细说明了各文件的作用和相互关系,为Qt初学者提供了基础的项目开发
2025-08-05 22:09:49
1054
原创 【龙芯99派新世界】2.buildroot使用,连接wifi
本文介绍了Linux系统下WiFi连接与SSH登录的配置方法。主要内容包括:1)创建自动连接WiFi的脚本并设置开机自启;2)配置wpa_supplicant文件保存WiFi账号密码;3)通过systemd服务实现WiFi开机自动连接;4)修改SSH配置允许root密码登录(需重启sshd服务)。文中提供了详细的命令和配置文件示例,包括模块加载、DHCP获取IP、服务单元配置等关键步骤,并提醒注意配置项前的注释符号问题。
2025-08-04 16:22:51
273
原创 【龙芯99派新世界】1.buildroot移植(恢复wifi)
本文摘要: 本文详细介绍了在LoongArch架构下进行系统移植和开发的全过程。首先配置Loongson GNU工具链的环境变量,然后进行Linux 6.9内核移植,包括添加aic8800无线驱动、修改Makefile和Kconfig文件。接着使用buildroot构建文件系统,配置交叉编译工具链参数。最后制作uImage镜像、初始化EMMC存储并设置u-boot启动参数,同时提供了Qt编译问题的解决方案。整个过程涵盖了从工具链配置到系统部署的完整开发流程,为LoongArch平台的嵌入式开发提供了详细指导
2025-08-02 22:10:58
265
原创 【Linux】pthread学习笔记(posix)
本文介绍了POSIX线程(pthread)编程的核心概念与API,包括线程创建/终止(pthread_create/join/detach)、同步机制(互斥锁、条件变量、读写锁)、线程属性控制(分离状态、栈大小、调度策略)以及线程局部存储。重点阐述了线程安全注意事项,如避免死锁、资源清理、使用线程安全函数等,并对比了pthread与C++11线程的差异。文章还提供了常用调试工具(valgrind、gdb)和最佳实践建议,强调共享资源同步的重要性及性能优化技巧。
2025-07-29 21:48:21
235
原创 【Linux】pthread库和thread库
需要精细控制线程属性(如栈大小、调度策略)。某些实时系统要求直接调用POSIX API。实现,二者可以共存(但需谨慎管理资源)。在非C++环境(如纯C项目)中。需要代码简洁性和类型安全时。开发跨平台C++应用时。
2025-07-29 21:24:01
362
原创 tcp通讯学习数据传输
attribute((packed))是GCC编译器扩展语法,用于取消结构体内存对齐优化。它强制编译器按成员顺序紧密排列数据,不留空隙,从而节省内存空间。例如,包含uint16_t和uint8_t成员的结构体,默认可能占用4字节(带填充),而使用packed后严格占用3字节。该特性常用于网络协议、硬件数据解析等需要精确内存布局的场景。
2025-07-29 21:13:16
256
原创 【ros-humble】1.安装ros编写节点talker.cpp(话题)
本文介绍了ROS 2 Humble环境的基础安装步骤。首先通过小鱼roswget工具安装基础环境,然后安装关键功能包包括navigation2、nav2-map-server等。接着安装SLAM相关工具Cartographer和slam_toolbox。最后指导创建ros2_humble_ws工作空间,建议使用VSCode在src目录下开发程序。这些步骤为ROS 2 Humble环境搭建提供了完整的解决方案。
2025-07-29 12:27:12
135
原创 【ros-humble】ldrlidar(LD19)使用
摘要:本文提供乐动激光雷达LD06、LD19、STL-19P三款共用的资料包百度网盘链接(有效),以及LD06产品手册网址。同时说明LD19和LD06的三维模型链接已失效。ROS2功能包源码托管在Gitee和GitHub平台,提供两个仓库地址,建议基础使用者参考Gitee操作步骤。所有资料仅供学习参考使用。(149字)
2025-06-03 22:59:24
134
原创 2k0300笔记
wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "账号" "密码")wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "账号" "密码")grep -nr "" ./iio/在文件中搜索文本。find ./ -name ""匹配的文件或目录。-f:指定文件名(必须放在最后,直接接文件名)。-j:使用 bzip2 压缩。-v:显示压缩过程(可选)。-z:使用 gzip 压缩。-J:使用 xz 压缩。
2025-06-03 13:54:14
239
原创 buildroot笔记
cp /home/robot/tspi/ABI2.0/buildroot/output/images/rootfs.tar /mnt/hgfs/Ubuntu-share/烧录文件保存/或者 -platform linuxfb:touch=tslib:dev=/dev/input/event0。cp uImage /mnt/hgfs/Ubuntu-share/烧录文件保存//**************添加用户**************//**************添加权限**************/
2025-06-03 13:53:40
373
原创 Biuldroot下配置libdrm、Mesa3D、Qt5进行测试。
>linuxfb support--使用libqlinuxfb.so作为显示插件。->linuxfb support--支持Linux Framebuffer插件。->eglfs support--使用libqeglfs.so作为显示插件。->Enable Tslib support--支持tslib插件。->OpenGL support--支持OpenGL。->qt5charts--Qt5 chart组件。->etnaviv--支持的GPU驱动。
2025-06-03 13:52:17
397
原创 增量和位置PID
噪声较大的环境,系统响应速度要求不高的场合,对系统稳定性要求较高的场合。不需要消除稳态误差的场合,执行机构动作速度受限。不用D(微分)的场景。
2025-03-05 23:39:39
255
原创 【Linux】进程信号
如果信号(比特位的位置)对应的比特位是1,则表示该信号是pending的,即信号产生但还未被处理。当进程的信号处理函数还没有准备好处理信号时,信号会保持在pending表中。一旦信号的处理函数准备好,内核会从pending表中选择一个信号交付给进程。当进程接收到一个信号时,内核会查找该信号对应的处理函数,并执行该处理函数来响应信号事件。用户自定义信号可以用SIGUSR1和SIGUSR2普通信号,SIGMIN等和SIGMAX等实时信号。向进程发送信号 0,可以检查该进程是否存在,正常无影响,无进程会报错。
2025-02-04 22:51:08
694
原创 ackermann转向模型
PID是比例积分微分控制算法,再反馈调节的作用保持系统的稳定,在差速系统中主要运用他来进行两路电机的速度匹配,能够实现直线行驶的稳定。
2025-01-29 12:51:41
322
原创 【Linux】pwm的控制
设备树下编写pwm节点,其中有pwm的地址和对应引脚可以提供信息。以下是示例,也可以在./Documentation/devicetree/下find ./ -name "pwm"尝试搜索关于pwm的设备树编写文档。make menuconfig选pwm的开启,用/搜索位置。查看pwmchipx的存在,/sys/class/pwm下,用ll命令可以查看pwmchip的地址,方便对应使用。
2025-01-29 12:03:47
312
原创 【Linux】argc和argv[ ]的使用
argv[0] = ./example argv[1] = arg1这样规律。是一个指向字符串数组的指针,每个字符串代表一个命令行参数。是一个参数数组,用于存储命令行参数。表示传递给程序的命令行参数的数量,而。以下是一个简单的示例,演示如何使用。函数的第二个参数,通常与。由此可以写文件路径,文件名。(参数计数)一起使用。
2025-01-18 21:52:49
250
原创 sysfs
简述:sysfs是一个伪文件系统,对具体的内核对象(例如物理设备)进行建模,并提供一种将设备和设备驱动程序关联起来的方法。位置在/sys/根目录。ls -l /sys上述命令可以查看sysfs文件系统中导出了哪些内核对象。sysfs文件系统将长期存在于内存中,禁用sysfs文件系统,可以节省系统资源。(1)sysfs文件系统在linux内核中如何挂载的?函数(2)linux内核如何将内核对象集添加到sysfs文件系统?答:调用内核函数创建内核对象集。
2025-01-18 21:15:25
160
原创 opencv用CMake交叉编译并安装和基础使用
安装依赖库下载源码wget 后面接github给的 或者git clone也可以创建build文件夹使用cmake命令配置 OpenCV 的编译参数,并指定交叉编译工具链文件,对于有些opencv里有toolchain.cmake工具链,在platforms文件夹下,替换路径就行。如果没有交叉编译工具链文件也可以用g++和gcc工具,运行或者在build下先调整编译选项cmake-gui ..,不建议使用cmake结束后再运行。
2025-01-17 02:51:18
1007
原创 交叉编译器配置使用
自己的主目录下的 “.bashrc”“.bash_profile” 等隐藏文件中设置自己的环境变量,这些文件只对当前用户生效。比如在.bashrc最后面添加。编译器压缩包解压放在opt根文件下,添加$PATH变量。
2025-01-17 02:22:41
210
原创 cmake用法
当然,CMAKE有一些预置的宏,如例子中使用的CMAKE_C_COMPILER是用来指定编译工具的,通过这个宏可以用来实现交叉编译。在交叉编译下,CMAKE_SYSROOT 一般设置为工具链的sysroot目录,这样cmake可以从这个目录中找到相关依赖。有时候,这样执行后,由于依赖的原因,可能会提示错误,这时可以通过-D选项来配置。作为嵌入式开发的工程师来说,交叉编译是件麻烦的事,特别是碰到cmake工程源码。-D 选项就是用来传递相关配置的,我们在编译源码时,经常需要使用相关配置。
2025-01-16 00:38:09
538
原创 stm32HAL库,标准库全套代码和资料笔记
链接:https://pan.baidu.com/s/15yR5yAGUhjt-CTgOgyK4Qg。
2024-11-01 20:23:51
238
原创 STM32HAL库的Encoder基础配置
开启代码HAL_TIM_Encoder_Start(&htim3, TIM_CHANNEL_ALL);4倍频开启,考虑溢出次数,正反溢出DIR。清除更新中断再开启。
2024-10-16 00:04:49
200
1
原创 zlink和总线舵机资料,点赞自取
链接:https://pan.baidu.com/s/1jmdyRL_4Jnn978-L40htjA?总线调试板-ZLink 百度云链接:http://pan.baidu.com/s/1gfajYt9?
2024-06-08 11:49:39
406
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人