加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

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

2020/01/15
131
阅读需 4 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

软件开发离不开调试,调试手段分两种:一是黑盒调试,即直接从输入 / 输出角度测试软件功能是否正常,这种方式仅能发现问题,但无法直接定位问题原因所在;二是白盒调试,即直接拿源代码在线 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)便可以进行单步调试。

  

关于 PyCharm 调试技巧可参考下面两篇文章:

https://confluence.jetbrains.com/display/PYH/Debugger#Debugger-Preparinganexample
https://www.jetbrains.com/help/pycharm/debug-tool-window.html

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
25LC512T-I/SN 1 Microchip Technology Inc 64K X 8 SPI BUS SERIAL EEPROM, PDSO8, 3.90 MM, ROHS COMPLIANT, PLASTIC, SOIC-8

ECAD模型

下载ECAD模型
$1.79 查看
CSTNE8M00GH5C000R0 1 Murata Manufacturing Co Ltd Ceramic Resonator,

ECAD模型

下载ECAD模型
$0.56 查看
ASFLMB-4.000MHZ-LY-T 1 Abracon Corporation MEMS OSC XO 4.0000MHZ LVCMOS SMD
$1.97 查看

相关推荐

电子产业图谱

硕士毕业于苏州大学电子信息学院,目前就职于恩智浦(NXP)半导体MCU系统部门,担任嵌入式系统应用工程师。痞子衡会定期分享嵌入式相关文章