pixhawk-px4之通过串口添加传感器应用

2023-05-16

前言:

看到有博客通过串口添加自定义传感器,按照步骤做了一遍

博客:http://blog.csdn.net/msq19895070/article/details/52012190

一 串口选择

Pixhawk板上TELEM2接口的USART2,对应的Nuttx UART设备文件尾/dev/ttyS2


二 添加应用

step 1:Firmware/src/modules中添加一个新的文件夹,命名为rw_uart

step 2:rw_uart文件夹中创建CMakeLists.txt文件,作为cmake的编译脚本


step 3:rw_uart文件夹中创建rw_uart.c文件



step 4:注册新添加的应用到NuttShell中。/src/Firmware/cmake/configs/nuttx_px4fmu-v2_default.cmake文件中添加如下内容


step 5:编译固件

若遇到编译问题,可查看错误提示查找相关位置,应该是c文件输入有错,如:提示是在13行9列的地方,小三角标注的地方。


step 6:烧写后,进入nsh,并启动该应用。



三 读取数据测试

博客中提到的用超声波模块测试,手头没有,通过串口助手自动发送数据,看是否能读取到数据

数据要求R开头,如:R0012 R0023 R0045

step1:用6针排座插在串口2上(TELEM2)上,用ch340转串模块连接串口助手

step2:将串口2的rx,gnd与ch340的tx,gnd连接,打开串口助手.

step:波特率(9600),发送数据R0012 R0023 R0045,手动发送

结果:



总结:

目前尝试串口读取,做过测试, 如果读取一个字节,串口助手发送一个字节,会导致第一次发送的字节读取不到,并且write出去串口助手显示的字节乱码,串口这块还有很多问题,包括数据包的解析,都是需要继续尝试的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pixhawk-px4之通过串口添加传感器应用 的相关文章

  • 飞行机器人(七)仿真平台XTDrone + PX4编译

    0 编译PX4固件 参考仿真平台基础配置教程 xff08 中文详细教程 xff09 仿真平台基础配置 语雀 yuque com https www yuque com xtdrone manual cn basic config 按照教程
  • PX4代码学习系列博客(5)——在px4中添加自己的模块

    怎么在px4中添加自己的模块 在 px4固件目录结构和代码风格 这一节 xff0c 曾经说过NuttX是一个实时的嵌入式系统 xff0c 上面可以像windows那样运行程序 那既然是应用程序 xff0c 那我们应该也能写一些可以在Nutt
  • Ubuntu下构建PX4软件

    本搭建过程基于http dev px4 io starting building html xff0c 希望大家互相交流学习 原文 xff1a Building PX4 Software xff08 构建PX4软件 xff09 PX4 ca
  • px4 avoidance笔记

    最近在用px4官方的avoidance代码跑硬件避障 xff0c 官方介绍了只要生成符合sensor msgs PointCloud2点云信息就能使用 xff0c 因此为了应用长基线双目 xff0c 没有使用realsense的相机 xff
  • 无人机仿真—PX4编译,gazebo仿真及简单off board控制模式下无人机起飞

    无人机仿真 PX4编译 xff0c gazebo仿真及简单off board控制模式下无人机起飞 前言 在上篇记录中 xff0c 已经对整体的PX4仿真环境有了一定的了解 xff0c 现如今就要开始对无人机进行起飞等仿真环境工作 xff0c
  • PX4模块设计之六:PX4-Fast RTPS(DDS)简介

    64 TOC PX4模块设计之六 xff1a PX4 Fast RTPS DDS 简介 基于PX4开源软件框架简明简介的框架设计 xff0c 逐步分析内部模块功能设计 PX4 Fast RTPS DDS 具有实时发布 订阅uORB消息接口
  • PX4模块设计之十七:ModuleBase模块

    PX4模块设计之十七 xff1a ModuleBase模块 1 ModuleBase模块介绍2 ModuleBase类介绍3 ModuleBase类功能介绍3 1 模块入口3 2 模块启动3 3 模块停止3 4 状态查询3 5 任务回调3
  • PX4模块设计之十八:Logger模块

    PX4模块设计之十八 xff1a Logger模块 1 Logger模块简介2 模块入口函数2 1 主入口logger main2 2 自定义子命令Logger custom command2 3 日志主题uORB注册 3 重要实现函数3
  • PX4模块设计之三十一:ManualControl模块

    PX4模块设计之三十一 xff1a ManualControl模块 1 ManualControl模块简介2 模块入口函数2 1 主入口manual control main2 2 自定义子命令custom command 3 Manual
  • PX4模块设计之三十九:Commander模块

    PX4模块设计之三十九 xff1a Commander模块 1 Commander模块简介2 模块入口函数2 1 主入口commander main2 2 自定义子命令custom command 3 Commander模块重要函数3 1
  • 【px4】运行mavsdk中的offboard example

    运行MAVSDK中的offboard例子时无人机不执行 想控制无人机前后左右移动 xff0c 在按照官方教程实现offboard 插件的时候 发现用action插件能正常起飞和降落 但是一旦执行到offboard的插件代码的时候就会自动降落
  • PX4飞控之自主返航(RTL)控制逻辑

    本文基于PX4飞控1 5 5版本 xff0c 分析导航模块中自护返航模式的控制逻辑和算法 自主返航模式和导航中的其他模式一样 xff0c 在Navigator main函数中一旦触发case vehicle status s NAVIGAT
  • PX4软件在环仿真注意点

    注 xff1a 最新内容参考PX4 user guide 点击此处 PX4下载指定版本代码和刷固件的三种方式 点击此处 PX4sitl固件编译方法 点击此处 PX4开发指南 点击此处 PX4无人机仿真 Gazebo 点击此处 px4仿真 知
  • PX4中自定义MAVLink消息(记录)

    简单记录一下这个过程 一 自定义uORB消息 这一步比较简单 xff0c 首先在msg 中新建ca trajectory msg文件 uint64 timestamp time since system start span class t
  • PX4 OffBoard Control

    终于还是走上了这一步 xff0c 对飞控下手 xff0c 可以说是一张白纸了 记录一下学习的过程方便以后的查阅 目录 一 ubuntu18 04配置px4编译环境及mavros环境 二 PX4的OffBoard控制 1 搭建功能包 2 编写
  • PX4——Range Finder 篇

    Range Finder 此处选用的是 Benewake 下的 Lidar 参数设置 General Configuration 除了官方的参数设置外 xff0c 我在 EKF2 中还找到了 EKF2 RNG AID 参数 xff0c 用来
  • 步骤三:PX4,Mavros的下载安装及代码测试

    1 安装Mavros sudo apt install ros melodic mavros ros melodic mavros extras 2 安装Mavros相关的 geographiclib dataset 此处已经加了ghpro
  • PX4项目学习::(五)模块代码启动流程

    54条消息 PX4 模块代码启动流程 zhao23333的博客 CSDN博客
  • 无人机PX4使用动捕系统mocap的位置实现控制+MAVROS

    动捕系统Optitrack xff0c 有很高的定位精度 xff0c 能够给无人机提供比较精确的位置信息 xff0c 因此如果实验室有条件 xff0c 都可以买一套动捕系统 动捕系统的原理 xff1a 光学式动作捕捉依靠一整套精密而复杂的光
  • 飞行姿态解算(三)

    继之前研究了一些飞行姿态理论方面的问题后 又找到了之前很流行的一段外国大神写的代码 来分析分析 第二篇文章的最后 讲到了文章中的算法在实际使用中有重大缺陷 大家都知道 分析算法理论的时候很多情况下我们没有考虑太多外界干扰的情况 原因是很多情

随机推荐

  • nginx为什么是多进程单线程和多路IO复用模型

    Nginx现在是非常火爆的web服务器 xff0c 她使用更少的资源 xff0c 支持更多的并发连接数 xff0c 她实现了linux的epoll模型 xff0c 能够支持高达 50 000 个并发连接数的响应 Nginx采用的是多进程单线
  • python函数变量和内置函数

    一 函数的作用域 1 全局变量 xff1a 函数外部定义的变量 xff1a 叫做全局变量 xff0c 全局变量顾名思义就指定不管是函数内部还是函数外部都能够访问 2 局部变量 xff1a 局部变量 xff0c 就是在函数内部定义的变量 xf
  • vector erase删除第几个

    vector lt int gt Ilist Ilist push back 1 Ilist push back 2 Ilist push back 3 Ilist push back 4 Ilist push back 5 Ilist e
  • GLEW_ERROR_NO_GL_VERSION missing GL version一种解决方法

    可能你在代码里面指定了 GLFW 的版本号 xff0c 代码如下 xff1a glfwWindowHint GLFW CONTEXT VERSION MAJOR 4 glfwWindowHint GLFW CONTEXT VERSION M
  • have datatype/md5sum 相关的错误 IndentationError: unexpected indent

    类似的错误信息如下 xff1a ERROR 1611906790 607272604 Client listener 5059 456439 wants topic move base simple goal to have datatyp
  • 运行错误 terminate called without an active exception

    运行错误 xff1a terminate called without an active exception xff0c 可能的原因 xff1a 下面的代码中的 t41 join t42 join t43 join 注释掉会出现这个错误
  • link error : undefined reference to `main‘

    今天发现一个编译错误 xff1a undefined reference to 96 main 39 xff0c 意思是main函数没有定义 xff0c 明明定义了啊 xff0c 结果发现main函数被namespace包起来了 xff0c
  • dtsi编译错误

    1 FATAL ERROR Unable to parse input tree DTC arch arm64 boot dts rockchip rk3568 evb1 ddr4 v10 dtb Error arch arm64 boot
  • 理解dtsi中的&

    1 dtsi中的 amp 怎么理解呢 可以把它理解引用 xff0c 因为dtsi中的每个模块 xff08 驱动程序 xff09 都是用 xff5b xff5d 包在内的 xff0c 所以当你要修改某个模块A时 xff0c 可以不直接在它定义
  • 根据用户IP抓取MEC地址

    package com ccit web recommonedCode dao impl import java io BufferedReader import java io InputStreamReader import java
  • 说一说 RTThread 系统 开发过程的坑。。。

    1 系统文件 与 ST 官方的不一致 xff0c 无法兼容Cube MX xff0c 导致用户自行开发 外设时 需要大量初始化工作 xff0c 而且遇到问题难以查找 原因 xff0c 因为系统初始化过程 与官方差异较大 xff0c 这点 入
  • 几种2.4G无线数传模块电路

    一 几种2 4G无线数传模块介绍 无线数传按传输速率区分 分为低速数传模块和高速数传模块两大类 低速数传模块 使用的载频均较低 xff0c 一般都在 315MHz 433MHz 和 915MHz 这几个频段 xff0c 所以一般最高传输速率
  • 自动控制之PID原理

    自动控制原理 从控制的方式看 xff0c 自动控制系统有闭环和开环两种 闭环控制 xff1a 闭环控制也就是 xff08 负 xff09 反馈控制 xff0c 原理与人和动物的目的性行为相似 xff0c 系统组成包括传感器 xff08 相当
  • shell之正则表达式

    一 正则表达式 正则表达式 xff1a 描述某些字符串匹配规则的工具 使用原因 xff1a 程序设计过程中不可避免的遇到处理某些文本情况 xff0c 有时候要查找符合某些比较复杂规则的字符串 正则表达式以非常简单的代码完成 常见的支持正则表
  • Pixhawk在MP上的校准

    一 机架类型 xff08 1 xff09 连接飞控 xff08 2 xff09 初始设置 机架类型 xff08 3 xff09 选择下面对应机型即可如图中红圈 xff0c 另外 xff0c 加载参数项不要加载 xff08 暂时不清楚参数代表
  • Pixhawk在MP上的故障保护

    一 油门故障保护 油门故障保护 xff1a 遥控器油门PWM值低于预设保护值时 xff0c 飞行器触发故障保护 xff0c 避免坠机 触发条件 xff1a 遥控器故障 xff0c 遥控器与飞行器失联 设置 xff1a 地面站初始设置 故障保
  • Pixhawk开发环境搭建之PX4固件编译

    一 Windows环境下编译 1 1编译前期准备 1 软件下载 需要安装CMake Java jre或者jdk以及PX4 Toolchain Installer 下载链接如下 xff1a CMake xff1a https cmake or
  • Pixhawk地面站搭建问题

    一 Misson Planner 1 1 软件安装 http www playuav com article 36下载MissonPlane 安装过程中会自动安装驱动 xff0c 不行再去官网下载PX4drive http dev px4
  • Pixhawk-PX4固件之hellosky

    一 第一个应用程序 环境 xff1a ubuntu14 04LTS 来源 xff1a Firmware src example px4 simple app 两个文件 CMakeLists txt和px4 simple app CMakeL
  • pixhawk-px4之通过串口添加传感器应用

    前言 xff1a 看到有博客通过串口添加自定义传感器 xff0c 按照步骤做了一遍 博客 xff1a http blog csdn net msq19895070 article details 52012190 一 串口选择 Pixhaw