居然有这么好用的调试工具

news2025/1/16 5:52:36

居然有这么好用的调试工具

    • 基本收发
    • 虚拟示波器
    • GPIO操作
    • PWM输出
    • AD-DA
    • IIC操作
    • SPI操作
    • GPS显示
    • 模块设置

基本收发

在这里插入图片描述
软件具备最常用的串口收发功能,可以在需要发送的数据最后选择添加一些常用的附加数据:
在这里插入图片描述
支持2通道COM口同时接收,目前自己最常用的场景是在调试AT指令模组时监控串口收发情况,完整流程一目了然。

搭配这种USB转多通道串口板体验更佳:
在这里插入图片描述
串口数据基本收发这个功能并不是这款软件最想做的,所以也没做过多开发,网上有一些串口调试助手已经特别优秀,辅助功能也比较好用,后续会借鉴集成进来,例如消息自动应答、快捷指令列表等。

虚拟示波器

在这里插入图片描述
支持波形的保存与打开,方便数据分析,在显示波形的同时还可以点击右侧发送按钮下发一些参数,在做类似PID调试时还是比较方便,这个界面早在几年前就已经实现,当时就是为了方便学生调试智能车,直到最近才整合进这个软件。使用的协议文件可以通过右上角的按钮获取:
在这里插入图片描述
接口如下:

typedef struct
{
	void (*Init)(void (*sendFun)(uint8_t *data, uint8_t len));
	void (*Parse)(uint8_t *data, uint16_t len);
	bool (*SendCmd)(uint8_t type, uint8_t *buf, uint8_t len);
	void (*SendWaveInt8)(int8_t data1, int8_t data2, int8_t data3, int8_t data4);
	void (*SendWaveInt16)(int16_t data1, int16_t data2, int16_t data3, int16_t data4);
	void (*SendWaveInt32)(int32_t data1, int32_t data2, int32_t data3, int32_t data4);
	void (*SendWaveUint8)(uint8_t data1, uint8_t data2, uint8_t data3, uint8_t data4);
	void (*SendWaveUint16)(uint16_t data1, uint16_t data2, uint16_t data3, uint16_t data4);
	void (*SendWaveUint32)(uint32_t data1, uint32_t data2, uint32_t data3, uint32_t data4);
	void (*SendWaveFloat1)(float data1);
	void (*SendWaveFloat2)(float data1, float data2);
	void (*SendWaveFloat3)(float data1, float data2, float data3);
	void (*SendWaveFloat4)(float data1, float data2, float data3, float data4);
	void (*SendStaticWave)(uint8_t *mData, int len);  
	void (*SendDataFloat3)(float a, float b, float c);
	void (*SetModeCallBack)(void (*callBack)(uint8_t mode));
	void (*SetUrgentCallBack)(void (*callBack)(uint8_t urgent));
	void (*SetThreeCallBack)(void (*callBack)(float data1, float data2, float data3));
	void (*SetFloat1CallBack)(void (*callBack)(float data));
	void (*SetFloat2CallBack)(void (*callBack)(float data));
	void (*SetFloat3CallBack)(void (*callBack)(float data));
	void (*SetFloat4CallBack)(void (*callBack)(float data));
	void (*SetShort1CallBack)(void (*callBack)(short data));
	void (*SetShort2CallBack)(void (*callBack)(short data));
	void (*SetShort3CallBack)(void (*callBack)(short data));
}TLM_T;

集到自己的单片机工程中也比较简单,步骤如下:

  1. 将telemetry.c,telemetry.h加入工程,包含头文件 telemetry.h
  2. 初始化自己使用的串口
  3. st_tlm.Init(串口输出方法)
  4. st_tlm.Parse() // 在串口接收数据处调用,将收到的数据传入
    鼠标右键如下区域,可以自定义曲线名称:
    在这里插入图片描述

GPIO操作

接下来提到的几个功能需要搭配如下这么一个小板子使用:
在这里插入图片描述
通过USB接到电脑,打开GPIO选项卡,可以选择板子上的这几个引脚作为通用IO口使用,输出模式时可以点击对应的灯控制输出高低电平,输入模式时红灯表示检测到高点平,灰色表示低电平:
在这里插入图片描述

PWM输出

板子支持2路PWM同时输出(PWM1、PWM2引脚),目前只支持2路配置频率参数一致,但可以单独控制每路占空比:
在这里插入图片描述

AD-DA

板子上有一个ADC通道,一个DAC通道,下方可以直接设置DAC输出电压,将ADC与DAC短接时ADC显示实时DAC输出电压,能做一些简单的ADC数据观察。
在这里插入图片描述
点击曲线可以查看光标位置详情:
在这里插入图片描述

IIC操作

IIC操作界面中支持寄存器参数写入,寄存器值获取,右侧可选择指定寄存器持续读取,读取结果点击波形显示按钮查看曲线,例如我们常用的MPU6050这一类的传感器可以直接实现0代码的数据获取并观察数据曲线。所有读写操作可已保存,便于以后重复使用。
在这里插入图片描述

SPI操作

与IIC操作类似,只是SPI会多一个极性和相位的选择:
在这里插入图片描述

GPS显示

在这里插入图片描述
显示GPS实时信息,可以选择是否显示左侧数栏,支持定位信息保存,轨迹展示。

模块设置

支持对串口参数进行配置和小板子的固件升级:
在这里插入图片描述
在这里插入图片描述
由于软件主要功能需要配套一个单片机板子,资料整理完后会一起附上链接,有兴趣可以留名关注,如果大家有好的点子可以留言来完善,现有功能如果有感觉使用上有不协调的也希望大家给点意见,谢谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/896791.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ARM(实验二)

uart4.h #ifndef __H__ #define __H__#include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_uart.h"//RCC/GPIO/UART4章节初始化 void hal_uart4_init();//发送一个字符函数 void hal_put_char(const char str);//发…

Java进阶(4)——结合类加载JVM的过程理解创建对象的几种方式:new,反射Class,克隆clone(拷贝),序列化反序列化

目录 引出类什么时候被加载JVM中创建对象几种方式1.new 看到new : new Book()2.反射 Class.forName(“包名.类名”)如何获取Class对象【反射的基础】案例:连接数据库方法 3.克隆(拷贝)clone浅拷贝深拷贝案例 序列化和反序列化对象流-把对象存…

中大型无人机远程VHF语音电台系统方案

方案背景 中大型无人机在执行飞行任务时,特别是在管制空域飞行时地面航管人员需要通过语音与无人机通信。按《无人驾驶航空器飞行管理暂行条例》规定,中大型无人机应当进行适航管理。物流无人机和载人eVTOL都将进行适航管理,所以无人机也要有…

python ORM框架 sqlAlchemy

背景 最近在研究mysql的ORM框架,忽然看到了一个pip的包sqlalchemy,让我觉得很神奇,用下来的感觉和java的hibernate差不多,后边的链式查询又让我觉得和我很喜欢用的mybatis plus差不多,于是抱着好奇加上学习的态度&…

神经网络简单理解:机场登机

目录 神经网络简单理解:机场登机 ​编辑 激活函数:转为非线性问题 ​编辑 激活函数ReLU 通过神经元升维(神经元数量):提升线性转化能力 通过增加隐藏层:增加非线性转化能力​编辑 模型越大,…

OpenCV 玩转图像和视频

为什么学OpenCV? • OpenCV ⽀持对图像缩放、旋转、绘制⽂字图形等基础操作 • OpenCV 库包含了很多计算机视觉领域常⻅算法:⽬标检测、⽬标跟踪等 OpenCV 简介 • OpenCV (Open Source Computer Vision) 是计算机视觉和机器学习软件库 • Intel 1999…

特殊数字专题

特殊数字 1.奇数2.偶数3.完数4.素数5.回文数6.水仙花数7.中位数9.随机数11.求年份&#xff1a;闰年12.求数字&#xff1a;两个整数的最大公约数及最小公倍数 1.奇数 代码案例&#xff1a; //输出所有1-1000之间的奇数 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h&…

Java虚拟机(JVM):虚拟机栈溢出

一、概念 Java虚拟机栈溢出&#xff08;Java Virtual Machine Stack Overflow&#xff09;是指在Java程序中&#xff0c;当线程调用的方法层级过深&#xff0c;导致栈空间溢出的情况。 Java虚拟机栈是每个线程私有的&#xff0c;用于存储方法的调用和局部变量的内存空间。每当…

Java二分法查找

二分法&#xff1a;首先需要一个由小到大排序好的数组&#xff0c;先找到其中间值&#xff0c;然后进行比较如果比较中间值大的话则向前找。如果比要找的小&#xff0c;则向后找。 代码实现&#xff1a; //定义查询方法 public static int searchTarget(int[] nums, int targ…

用户新增预测(Datawhale机器学习AI夏令营第三期)

文章目录 简介任务1&#xff1a;跑通Baseline实操并回答下面问题&#xff1a;如果将submit.csv提交到讯飞比赛页面&#xff0c;会有多少的分数&#xff1f;代码中如何对udmp进行了人工的onehot&#xff1f; 任务2.1&#xff1a;数据分析与可视化编写代码回答下面的问题&#xf…

【CSS动画02--卡片旋转3D】

CSS动画02--卡片旋转3D 介绍代码HTMLCSS css动画02--旋转卡片3D 介绍 当鼠标移动到中间的卡片上会有随着中间的Y轴进行360的旋转&#xff0c;以下是几张图片的介绍&#xff0c;上面是鄙人自己录得一个供大家参考的小视频&#x1f92d; 代码 HTML <!DOCTYPE html>…

上半年营收19亿,金融壹账通第二增长曲线“加速上坡”

8月16日&#xff0c;壹账通金融科技有限公司&#xff08;下称“金融壹账通”&#xff09;发布了截至2023年6月30日中期业绩报告。 根据财报&#xff0c;2023年上半年&#xff0c;金融壹账通实现营收18.99亿元&#xff0c;毛利润为6.96亿元&#xff1b;归母净利润率从-26.1%提升…

(ElementPlus)操作(不使用 ts): Form表单检验、规则及案例分析(这一篇就够了)

Ⅰ、Form 表单检验简介&#xff1a; 1、什么是 Form 表单检验&#xff1f; 其一、属性&#xff1a; 表单验证是 javascript 中的高级选项之一&#xff1b; 其二、定义&#xff1a; JavaScript 在数据被送往服务器前对 HTML 中的 Form 表单中的这些输入数据进行验证的行为就…

MySQL索引介绍 为什么mysql使用B+树

什么是索引&#xff1f; 索引是一种用于快速查询和检索数据的数据结构&#xff0c;常见的索引结构有&#xff1a;B树&#xff0c;B树和Hash。 索引的作用就相当于目录。打个比方&#xff0c;我们在查字典的时候&#xff0c;如果没有目录&#xff0c;那我们就只能一页一页的去…

文本三剑客之sed编辑器

sed 一、sed简介1.1 什么是sed&#xff1f;1.2 sed原理1.3 sed核心功能 二、sed命令格式详解2.1 命令格式2.2 常用选项2.3 sed脚本语法2.3.1 基本语法结构2.3.2 地址部分-----指定匹配范围2.3.3 命令部分-----要执行的命令 三、sed查找替换3.1 基本语法3.2 分组后向引用3.3 变量…

.NET应用UI组件DevExpress XAF v23.1 - 全新的日程模块

DevExpress XAF是一款强大的现代应用程序框架&#xff0c;允许同时开发ASP.NET和WinForms。DevExpress XAF采用模块化设计&#xff0c;开发人员可以选择内建模块&#xff0c;也可以自行创建&#xff0c;从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。 在新版中…

【爬虫练习之glidedsky】爬虫-基础2

题目 链接 爬虫往往不能在一个页面里面获取全部想要的数据&#xff0c;需要访问大量的网页才能够完成任务。 这里有一个网站&#xff0c;还是求所有数字的和&#xff0c;只是这次分了1000页。 思路 找到调用接口 可以看到后面有个参数page来控制页码 代码实现 import reques…

Python功能制作之简单的3D特效

需要导入的库&#xff1a; pygame: 这是一个游戏开发库&#xff0c;用于创建多媒体应用程序&#xff0c;提供了处理图形、声音和输入的功能。 from pygame.locals import *: 导入pygame库中的常量和函数&#xff0c;用于处理事件和输入。 OpenGL.GL: 这是OpenGL的Python绑定…

win10下IDEA搭建web项目脚手架

参考 IDEA运行Maven项目配置全过程(菜鸟专属)_idea配置maven_Hi梅的博客-CSDN博客 下载 IDEA 下载JDK 1.8 https://pan.baidu.com/s/1lj2na9omGwhPrCKYNz1qSQ 提取码:izkj 点击exe一步步next 添加环境变量: JAVA_HOME 对于自己jdk的路径 添加系统变量PATH:%JAVA_H…

混杂接口模式---vlan

策略在两个地方可以用--1、重发布 2、bgp邻居 2、二层可以干的&#xff0c;三层也可以干 3、未知单播&#xff1a;交换机的MAC地址表的记录保留时间是5分钟&#xff0c;电脑的ARP表的记录保留时间是2小时 4、route recursive-lookup tunnel 华为默认对于bgp学习来的路由不开启标…