0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用200行Python代码实现串口调试助手之联合调试

454398 来源:alpha007 作者:alpha007 2022-11-15 15:23 次阅读

软件开发离不开调试,调试手段分两种:一是黑盒调试,即直接从输入 / 输出角度测试软件功能是否正常,这种方式仅能发现问题,但无法直接定位问题原因所在;二是白盒调试,即直接拿源代码在线 debug,python 虽是一种脚本语言,但借助一些 Python IDE 也可以实现单步调试,通过单步调试可以找到问题根本原因。

前面我们已经初步实现了 pzh-py-com,下面痞子衡会从黑盒和白盒的角度分别测试 pzh-py-com 功能:

一、黑盒调试:vspd + sscom

要测试 pzh-py-com 功能,首先得要有串口设备,当然我们可以使用真实的物理串口设备,比如使用如下这个经典的 CH34x 串口转 USB 模块,CH34x 芯片官方主页为 http://www.wch.cn/products/category/1.html。

安装好 CH34x 模块驱动 并将该模块 USB 接口端插上 PC 后便可在设备管理器的 Ports 里看到串口设备,一个物理模块就可以完成测试,只需要将模块的 RXD 和 TXD 线直接对接,这样便可实现回环测试。

很多时候手头并没有物理串口设备,那么这时候我们就需要借助虚拟串口软件,vspd 就是一款虚拟串口驱动,其官方主页为 https://www.eltima.com/products/vspdxp/,使用 vspd 可以在 PC 上虚拟出串口设备并实现虚拟连接,由于 vspd 不支持单设备回环连接,那么我们需要虚拟出两个串口设备并实现连接,痞子衡使用 vspd 虚拟出了 COM10 和 COM11,并将其进行了连接:

痞子衡选用的是 vspd 虚拟串口来测试

联合 sscom 测试串口数据收发,可知 pzh-py-com 基本串口数据收发功能是正常的,最基本的黑盒测试便通过了。

二、白盒调试:PyCharm

如果在黑盒测试过程中发现 pzh-py-com 功能有问题,从代码逻辑角度也不能立刻推断出问题,此时便需要使用 Python IDE 进行在线 debug,痞子衡选用的 PyCharm 软件,创建 pzh-py-com 工程后将其放于 pzh-py-com 主目录,工程会自动添加目录下所有源文件,选中 main.py 文件后选择 Debug(Shift+F9)便可以进行单步调试。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 串口调试
    +关注

    关注

    2

    文章

    261

    浏览量

    24472
收藏 人收藏

    评论

    相关推荐

    Pyserial库来进行与stm32的串口通信,write方法给32发数据时会出现数据的错误和缺失怎么解决?

    我使用的是Pyserial库来进行与stm32的串口通信,python可以很好地接收32发来的数据,但是我write方法给32发数据时会出现数据的错误和缺失,同样的32程序我
    发表于 03-12 07:32

    如何使用linux下gdb来调试python程序

    如何使用linux下gdb来调试python程序  在Linux下,可以使用GDB(GNU调试器)来调试Python程序。GDB是一个强大的
    的头像 发表于 01-31 10:41 464次阅读

    电机控制调试助手怎么用

    电机控制调试助手是一种帮助用户进行电机控制调试的辅助工具。它可以提供实时监测、参数设置、故障诊断和历史数据分析等功能,为用户提供便捷、高效的电机调试和优化方法。 首先,电机控制
    的头像 发表于 12-28 13:57 352次阅读

    C#网络串口调试助手源码

    非常牛B网络串口调试助手C#源码,支持添加多条协议
    发表于 12-27 09:45 0次下载

    串口与网络调试助手:支持广播数据、支持选择网卡

    电子发烧友网站提供《串口与网络调试助手:支持广播数据、支持选择网卡.zip》资料免费下载
    发表于 12-27 09:40 0次下载

    VB编程串口调试助手

    VB6.0编写的一款串口调试助手,里面附带了关于串口通信的文档,对初学串口通信是很好的资料。
    发表于 10-09 06:19

    蓝牙串口调试APK

    电子发烧友网站提供《蓝牙串口调试APK.rar》资料免费下载
    发表于 10-07 16:15 3次下载
    蓝牙<b class='flag-5'>串口</b><b class='flag-5'>调试</b>APK

    求助,请问串口调试助手显示的是几进制的数?

    请问像ADC采集到的数值通过串口串口调试助手显示,这个显示出来的数值是几进制的?
    发表于 09-26 07:28

    基于STM32的串口环形队列IAP调试

    基于STM32的串口环形队列IAP调试心得
    的头像 发表于 09-18 15:33 848次阅读
    基于STM32的<b class='flag-5'>串口</b>环形队列IAP<b class='flag-5'>调试</b>

    安信可模组万能调试助手

    来介绍一下功能。 安排上! 请搜索安信可视频号查看功能介绍 功能简介 通过模组万能调试助手工具,将各种需要使用的开发工具集成在一起,并支持通过UI在线编程的方式实现智能产品开发,简化了物联网产品的开发难度。 支持UI引导式开发方
    的头像 发表于 08-21 15:19 369次阅读
    安信可模组万能<b class='flag-5'>调试</b><b class='flag-5'>助手</b>

    单片机串口模块调试方法

    笔者在调试某Cortex-M3内核单片机时遇到一个问题,此单片机不具备在线仿真功能,因此调试代码时只能使用UART输出Log的方式调试调试
    发表于 07-28 15:48 1002次阅读
    单片机<b class='flag-5'>串口</b>模块<b class='flag-5'>调试</b>方法

    用GDB演示Python和C调试

    调试混合 Python 和 C 语言堆栈
    的头像 发表于 07-05 16:30 487次阅读

    串口调试助手向单片机发送数据,单片机怎么接受并储存到一个数组中?

    串口调试助手向单片机发送数据,单片机怎么接受并储存到一个数组中?数据位128个单字节的16进制代码,并且要使其
    发表于 05-15 15:00

    C#编写一个串口助手上位机软件

    对于工程师来说,串口助手可以说是必不可少的一个工具,一个好的串口助手可以大大方便我们的研发调试。网上串口
    发表于 05-10 11:34 1次下载
    C#编写一个<b class='flag-5'>串口</b><b class='flag-5'>助手</b>上位机软件

    串口/网络数据调试

    串口/网络数据调试
    发表于 05-09 14:59 0次下载