SerialPlot 安装和配置指南

SerialPlot 安装和配置指南

serialplot Small and simple software for plotting data from serial port in realtime. serialplot 项目地址: https://gitcode.com/gh_mirrors/se/serialplot

1. 项目基础介绍和主要编程语言

项目介绍

SerialPlot 是一个小巧且简单的软件,用于实时绘制从串口接收的数据。它支持多种数据格式,包括二进制和ASCII格式,并且可以同步多通道绘图。SerialPlot 主要用于嵌入式系统和传感器数据的实时可视化。

主要编程语言

SerialPlot 主要使用 C++ 编程语言开发,并依赖于 Qt 框架进行图形用户界面(GUI)的构建。

2. 项目使用的关键技术和框架

关键技术

  • Qt 5: 用于构建图形用户界面和处理串口通信。
  • Qwt 6.1: 提供绘图小部件,用于在 SerialPlot 中进行数据可视化。
  • CMake: 用于项目的构建和配置。

框架

  • Qt SerialPort 模块: 用于处理串口通信。
  • Qwt 绘图库: 用于实现数据的可视化。

3. 项目安装和配置的准备工作和详细安装步骤

准备工作

在开始安装之前,请确保您的系统已经安装了以下软件包:

  • Qt 5: 包括 Qt SerialPort 模块。
  • Qwt 6.1: 用于绘图。
  • CMake: 用于构建项目。
  • Mercurial: 用于从版本控制系统中下载源代码。
在 Ubuntu/Debian 系统上安装依赖
sudo apt install qtbase5-dev libqt5serialport5-dev cmake mercurial
在 OpenSUSE 系统上安装依赖
sudo zypper in libqt5-qtbase-devel libqt5-qtserialbus-devel libqt5-qtserialport-devel cmake mercurial

安装步骤

1. 下载 SerialPlot 源代码

您可以使用 Mercurial 从版本控制系统中下载 SerialPlot 的源代码:

hg clone https://hg.sr.ht/~hyozd/serialplot/
cd serialplot
2. 创建构建目录并配置项目

在源代码目录中创建一个构建目录,并使用 CMake 进行配置:

mkdir build
cd build
cmake ..
3. 编译项目

使用 make 命令编译项目:

make
4. 安装 Qwt(可选)

如果您没有安装 Qwt,或者希望使用 SerialPlot 自带的 Qwt 版本,可以跳过此步骤。否则,您可以按照以下步骤安装 Qwt:

  • 下载 Qwt 6.1 源代码。
  • 按照 Qwt 的安装指南进行编译和安装。
  • 在 CMake 配置时,设置 BUILD_QWT 选项为 false
5. 运行 SerialPlot

编译完成后,您可以在 build 目录中找到 serialplot 可执行文件,直接运行即可:

./serialplot

配置 SerialPlot

SerialPlot 启动后,您可以通过图形用户界面配置串口参数(如波特率、数据位、停止位等),并选择数据格式进行实时绘图。

通过以上步骤,您应该能够成功安装和配置 SerialPlot,并开始使用它进行串口数据的实时绘图。

serialplot Small and simple software for plotting data from serial port in realtime. serialplot 项目地址: https://gitcode.com/gh_mirrors/se/serialplot

SerialPlot接受3种不同类型的数据输入: *简单的二进制流,支持不同的数字格式(无符号/有符号 - 8/16/32位和浮点数) * CSV格式的ASCII数据 *用户定义的自定义帧格式(帧开始字节,帧大小,校验和等)。 您可以拍摄当前视图的快照并将其存储在CSV文件中。您也可以从CSV文件加载它们,方便查看。 用户也可以通过点击定义“命令”发送到串口设备。命令可以用HEX或ASCII格式定义。 SerialPlot v0.10.0发布 哈桑YavuzÖzderya • 09/03/ 2017在15:19 • 0评论 SerialPlot 0.10发布。此版本带来了一些性能改进,次要功能和错误修复。 现在,您可以设置2个选项,而不是“样本数”选项卡中的“样本数”选项。“缓冲区大小”和“绘图宽度”。“缓冲区大小”是保存在内存中的样本总数,“绘图宽度”是在X轴上一次绘制的最大样本数。要查看以前的样本,只需使用X轴滚动条。这个区别的主要原因是表现。以前,您无法将样本数量设置得太高,因为SerialPlot试图一次绘制所有数据。现在您可以将“缓冲区大小”设置为1.000.000,只要保持“绘图宽度”较小,很可能就可以了。另一个好处是,有时当你频繁地更改数据时,缩放出路并不意味着太多,您也可以在X轴上保持一定的缩放级别,以便能够看到任何细节。如果你喜欢旧的行为,你总是可以设置缓冲区大小选项相同的数量作为绘图宽度,它应该没事。请记住,虽然“绘图宽度”选项有一个较小的限制,然后“缓冲区大小”出于性能的原因。一张纸条; 性能改进没有完成。我仍在进行一些改进,以增加“缓冲区大小”限制。 现在您可以设置RS232控制信号(DTR,RTS),并从“端口”选项卡查看输入信号()状态。能够设置DTR信号是一个要求的功能,以便SerialPlot可以与Arduino Leanardo板一起使用。 我们现在也有一个更新检查器。您可以从“帮助”菜单启动它。除非您禁用了SerialPlot,否则每天会检查一次更新。
SerialPlot是一款串口绘图工具,可以将串口接收到的数据进行实时绘图。下面是使用Cubemx配置串口1与SerialPlot通信的步骤: 1. 打开Cubemx,新建工程,并选择对应的芯片型号。 2. 在Pinout选项卡中,选择串口1对应的引脚,将其配置为GPIO推挽输出模式。 3. 在Configuration选项卡中,选择USART1,并进行如下配置: - Mode:选择Asynchronous。 - Baud Rate:设置波特率,例如115200。 - Word Length:选择8 Bits。 - Stop Bits:选择1 Bit。 - Parity:选择None。 4. 在NVIC Settings选项卡中,使能USART1的中断,并设置优先级。 5. 在Code Generator选项卡中,勾选Generate peripheral initialization as a pair of '.c/.h' files,并点击Generate Code按钮生成代码。 6. 在主函数中添加如下代码: ```c int main(void) { /* USER CODE BEGIN 1 */ char buffer[32]; uint16_t adc_value; /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_USART1_UART_Init(); MX_ADC_Init(); MX_NVIC_Init(); /* USER CODE BEGIN 2 */ HAL_ADC_Start(&hadc); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ if(HAL_ADC_PollForConversion(&hadc, 1000) == HAL_OK) { adc_value = HAL_ADC_GetValue(&hadc); snprintf(buffer, sizeof(buffer), "%d\n", adc_value); HAL_UART_Transmit(&huart1, (uint8_t*)buffer, strlen(buffer), 1000); } HAL_Delay(50); } /* USER CODE END 3 */ } ``` 在该代码中,我们使用ADC采集模拟量并通过串口1将其发送给SerialPlot进行绘图。其中,我们使用了sprintf函数将采集到的数据转换为字符串格式,并使用HAL_UART_Transmit函数将其发送到串口1。 7. 打开SerialPlot,点击Connect按钮,选择串口1对应的波特率和数据位数,即可开始接收数据并进行实时绘图。 需要注意的是,在使用SerialPlot绘图时,需要将发送的数据格式设置为纯数字格式(如"123"),以便SerialPlot正常解析数据进行绘图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

常芝婵Ramsey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值