痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记(4)- 联合调试(vspd, sscom, PyCharm2018.2)
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是串口调试工具Jays-PyCOM诞生之联合调试。
  软件开发离不开调试,调试手段分两种:一是黑盒调试,即直接从输入/输出角度测试软件功能是否正常,这种方式仅能发现问题,但无法直接定位问题原因所在;二是白盒调试,即直接拿源代码在线debug,python虽是一种脚本语言,但借助一些Python IDE也可以实现单步调试,通过单步调试可以找到问题根本原因。
  前面我们已经初步实现了Jays-PyCOM,下面痞子衡会从黑盒和白盒的角度分别测试Jays-PyCOM功能:
一、黑盒调试:vspd + sscom
要测试Jays-PyCOM功能,首先得要有串口设备,当然我们可以使用真实的物理串口设备,比如使用如下这个经典的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测试串口数据收发,可知Jays-PyCOM基本串口数据收发功能是正常的,最基本的黑盒测试便通过了。
二、白盒调试:PyCharm
如果在黑盒测试过程中发现Jays-PyCOM功能有问题,从代码逻辑角度也不能立刻推断出问题,此时便需要使用Python IDE进行在线debug,痞子衡选用的PyCharm软件,创建Jays-PyCOM工程后将其放于Jays-PyCOM主目录,工程会自动添加目录下所有源文件,选中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
至此,串口调试工具Jays-PyCOM诞生之联合调试痞子衡便介绍完毕了,掌声在哪里~~~
痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记(4)- 联合调试(vspd, sscom, PyCharm2018.2)的更多相关文章
- 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(1)- 环境搭建(Python2.7.14 + PyAudio0.2.11 + Matplotlib2.2.3 + SpeechRecognition3.8.1 + pyttsx3 2.7)
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之环境搭建. 在写Jays-PySPEECH时需要先搭好开发环境,下表列出了开发过程中会用到的 ...
 - 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(3)- 音频显示实现(Matplotlib, NumPy1.15.0)
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之音频显示实现. 音频显示是Jays-PySPEECH的主要功能,Jays-PySPEECH借 ...
 - 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(5)- 语音识别实现(SpeechRecognition, PocketSphinx0.1.15)
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之语音识别实现. 语音识别是Jays-PySPEECH的核心功能,Jays-PySPEECH借 ...
 - 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(6)- 文语合成实现(pyttsx3, eSpeak1.48.04)
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之文语合成实现. 文语合成是Jays-PySPEECH的核心功能,Jays-PySPEECH借 ...
 - 痞子衡嵌入式:语音处理工具pzh-speech诞生记(4)- 音频录播实现(PyAudio)
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具pzh-py-speech诞生之音频录播实现. 音频录播是pzh-py-speech的主要功能,pzh-py-speech借 ...
 - 痞子衡嵌入式:大话双核i.MXRT1170之在线联合调试双核工程的三种方法(IAR篇)
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1170下在线联合调试双核工程的方法(基于IAR). 前段时间痞子衡写过一篇<双核i.MXRT1170之单独在线调试从 ...
 - 痞子衡嵌入式:语音处理工具pzh-speech诞生记(2)- 界面构建(wxFormBuilder3.8.0)
		
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具pzh-py-speech诞生之界面构建. 之前痞子衡设计过一个串口调试助手pzh-py-com,也专门写过一篇关于其界面构 ...
 - 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记 - 索引
		
大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生. 智能语音交互市场近年来发展迅速,其典型的应用之一智能音箱产品如今已走入千家万户,深受大家 ...
 - 痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记 - 索引
		
大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是串口调试工具Jays-PyCOM诞生. 串口调试助手是嵌入式开发里非常常用的小工具,市面上有非常多流行的串口调试工具,比如TeraTe ...
 
随机推荐
- VMware Workstation Pro下载密钥
			
热门虚拟机软件VMware Workstation Pro现已更新至14.1.2,14.0主要更新了诸多客户机操作系统版本,此外全面兼容Wind10创建者更新.12.0之后属于大型更新,专门为Win1 ...
 - input标签实现小数点后两位保留小数
			
短短一行代码就可以实现 <input type="number" min="0" max="100" step="0.01& ...
 - Java Web 获取客户端真实IP
			
Java Web 获取客户端真实IP 发生的场景:服务器端接收客户端请求的时候,一般需要进行签名验证,客户端IP限定等情况,在进行客户端IP限定的时候,需要首先获取该真实的IP.一般分为两种情况: 方 ...
 - Http_4个新的http状态码:428、429、431、511
			
1.428 Precondition Required (要求先决条件) 先决条件是客户端发送 HTTP 请求时,必须要满足的一些预设条件.一个好的例子就是 If-None-Match 头,经常用在 ...
 - 发现一款适合php网站的管理软件——kodexplorer,能取代ftp
			
今天偶然看到可以利用可道云来管理网站的文件.可道云不需要数据库,因此搭建非常简单.搭建的方法也很简单.传统的 WordPress 站点的文件管理,通常是是通过 FTP 或者服务器面板自带的文件管理器来 ...
 - flume安装
			
1.flume安装 将压缩包减压到当前目录 tar -zxf apache-flume-1.8.0-bin.tar.gz 配置环境变量 编辑当前目录中的 .bashrc 文件(这影响当前用户的环 ...
 - 错误:Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file
			
Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file: /tmp/hsperfdat ...
 - centos7zabbix-agen安装
			
安装包下载地址:http://www.zabbix.com/download.php 下载对应rpm包 http://repo.zabbix.com/zabbix/ wget http://r ...
 - 刚发现 CSS 还存在一个命名规范 B.E.M
			
Block !误区:这个block并非inline-block里的block,而是将所有东西都划分为一个独立的模块,一个header是block,header里嵌套的搜索框是block,甚至一个ico ...
 - python    视图 (FBV、CBV ) 、Request 和Response对象 、路由系统
			
一.FBV和CBV1.基于函数的view,就叫FBV(Function Based View) 示例: def add_book(request): pub_obj=models.Publisher. ...