串口数据可视化工具:QT ARM虚拟示波器应用

版权申诉
1 下载量 5 浏览量 更新于2024-10-27 1 收藏 11.63MB ZIP 举报
资源摘要信息:"serial_port_plotter-master.zip_QT_arm_虚拟示波器" 知识点一:Git版本控制工具的使用 Git是一个开源的分布式版本控制系统,用以有效、高速地处理从很小到非常大的项目版本管理。Git的基本工作流程通常包括获取更新、修改文件、暂存更改、提交更改等步骤。在本资源中,Git用于上传和维护串口虚拟示波器项目。 知识点二:串口通信的基础知识 串口通信(Serial Communication)是一种在计算机和电子设备之间传输数据的方法。数据通过串行端口以位为单位按顺序传输,每一位数据都通过一根线。常见的串口通信标准有RS232、RS485等。在本资源中,提及的串口虚拟示波器就是通过串口数据传输实现数据捕获与显示的。 知识点三:QT框架的应用 QT是一个跨平台的C++应用程序框架,用于开发图形用户界面程序以及非GUI程序。它广泛用于开发具有复杂图形界面的应用程序。QT框架包含了丰富的工具和类库,支持多平台,并且拥有良好的性能和扩展性。资源描述中提到的QT arm指的可能是使用QT框架针对ARM架构进行开发的应用程序。 知识点四:ARM架构的理解 ARM是一种微处理器架构,设计上属于精简指令集计算机(RISC)类型。ARM架构因其高效能、低能耗的特点,被广泛应用于嵌入式系统和移动设备中。因此,QT arm虚拟示波器项目很可能是指该项目是为ARM架构的嵌入式设备开发的,以便在资源有限的设备上运行。 知识点五:虚拟示波器的功能与应用 虚拟示波器是一种软件工具,它利用计算机来模拟传统硬件示波器的功能。它能够接收输入信号,并在计算机屏幕上模拟示波器的波形显示。虚拟示波器通常用于电子测量和调试,提供波形捕获、信号分析、数据记录等功能。在本资源中,所提到的虚拟示波器通过QT开发,支持ARM平台,可以高效地进行数据采集和显示。 知识点六:数据格式规范 资源描述中提到数据传输时使用特定格式,即每一帧数据保持格式为"$%d %d;"。这是一种简单的文本协议,其中"$"表示数据帧的开始,"%d"表示数字类型的变量,";"表示数据帧的结束。这种格式能够帮助程序准确地识别和解析从串口接收到的数据。 知识点七:printf函数的使用 printf是C语言标准库中的输出函数,用于向标准输出流(通常是屏幕)打印格式化的字符串。在本资源中,printf被用来按照特定格式输出数据,这表明程序使用C语言进行编写。软件开发者通过printf函数构建符合要求的数据帧格式,以供虚拟示波器软件处理和显示。 知识点八:项目代码的组织与维护 资源文件名中的"serial_port_plotter-master"表明该项目是通过git仓库进行管理的。仓库通常包含了项目的所有代码文件、版本历史记录、以及相关的文档等。"master"是git中的一个术语,表示主分支,通常用于存放项目开发的稳定版本。开发者通过git进行代码的版本控制、分支管理、合并更改等操作,确保项目的稳定发展和持续更新。
2021-03-21 上传

ValueError Traceback (most recent call last) <ipython-input-64-56a70bbb0400> in <module> 7 plt.title('2020级外国语学院各班级总学时') 8 plt.subplot(222) ----> 9 sns.barplot(x=bj_sp_new_sort1.index,y=bj_sp_new_sort1.学时) 10 plt.xticks(rotation=90) 11 plt.title('2020级食品与工程学院各班级总学时') D:\Users\h\anaconda3\lib\site-packages\seaborn\_decorators.py in inner_f(*args, **kwargs) 44 ) 45 kwargs.update({k: arg for k, arg in zip(sig.parameters, args)}) ---> 46 return f(**kwargs) 47 return inner_f 48 D:\Users\h\anaconda3\lib\site-packages\seaborn\categorical.py in barplot(x, y, hue, data, order, hue_order, estimator, ci, n_boot, units, seed, orient, color, palette, saturation, errcolor, errwidth, capsize, dodge, ax, **kwargs) 3177 ): 3178 -> 3179 plotter = _BarPlotter(x, y, hue, data, order, hue_order, 3180 estimator, ci, n_boot, units, seed, 3181 orient, color, palette, saturation, D:\Users\h\anaconda3\lib\site-packages\seaborn\categorical.py in __init__(self, x, y, hue, data, order, hue_order, estimator, ci, n_boot, units, seed, orient, color, palette, saturation, errcolor, errwidth, capsize, dodge) 1584 self.establish_variables(x, y, hue, data, orient, 1585 order, hue_order, units) -> 1586 self.establish_colors(color, palette, saturation) 1587 self.estimate_statistic(estimator, ci, n_boot, seed) 1588 D:\Users\h\anaconda3\lib\site-packages\seaborn\categorical.py in establish_colors(self, color, palette, saturation) 317 # Determine the gray color to use for the lines framing the plot 318 light_vals = [colorsys.rgb_to_hls(*c)[1] for c in rgb_colors] --> 319 lum = min(light_vals) * .6 320 gray = mpl.colors.rgb2hex((lum, lum, lum)) 321 ValueError: min() arg is an empty sequence

2023-06-10 上传