0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用200行Python代碼實現(xiàn)串口調(diào)試助手之聯(lián)合調(diào)試

454398 ? 來源:alpha007 ? 作者:alpha007 ? 2022-11-15 15:23 ? 次閱讀

軟件開發(fā)離不開調(diào)試,調(diào)試手段分兩種:一是黑盒調(diào)試,即直接從輸入 / 輸出角度測試軟件功能是否正常,這種方式僅能發(fā)現(xiàn)問題,但無法直接定位問題原因所在;二是白盒調(diào)試,即直接拿源代碼在線 debug,python 雖是一種腳本語言,但借助一些 Python IDE 也可以實現(xiàn)單步調(diào)試,通過單步調(diào)試可以找到問題根本原因。

前面我們已經(jīng)初步實現(xiàn)了 pzh-py-com,下面痞子衡會從黑盒和白盒的角度分別測試 pzh-py-com 功能:

一、黑盒調(diào)試:vspd + sscom

要測試 pzh-py-com 功能,首先得要有串口設(shè)備,當(dāng)然我們可以使用真實的物理串口設(shè)備,比如使用如下這個經(jīng)典的 CH34x 串口轉(zhuǎn) USB 模塊,CH34x 芯片官方主頁為 http://www.wch.cn/products/category/1.html。

安裝好 CH34x 模塊驅(qū)動 并將該模塊 USB 接口端插上 PC 后便可在設(shè)備管理器的 Ports 里看到串口設(shè)備,一個物理模塊就可以完成測試,只需要將模塊的 RXD 和 TXD 線直接對接,這樣便可實現(xiàn)回環(huán)測試。

很多時候手頭并沒有物理串口設(shè)備,那么這時候我們就需要借助虛擬串口軟件,vspd 就是一款虛擬串口驅(qū)動,其官方主頁為 https://www.eltima.com/products/vspdxp/,使用 vspd 可以在 PC 上虛擬出串口設(shè)備并實現(xiàn)虛擬連接,由于 vspd 不支持單設(shè)備回環(huán)連接,那么我們需要虛擬出兩個串口設(shè)備并實現(xiàn)連接,痞子衡使用 vspd 虛擬出了 COM10 和 COM11,并將其進(jìn)行了連接:

痞子衡選用的是 vspd 虛擬串口來測試

聯(lián)合 sscom 測試串口數(shù)據(jù)收發(fā),可知 pzh-py-com 基本串口數(shù)據(jù)收發(fā)功能是正常的,最基本的黑盒測試便通過了。

二、白盒調(diào)試:PyCharm

如果在黑盒測試過程中發(fā)現(xiàn) pzh-py-com 功能有問題,從代碼邏輯角度也不能立刻推斷出問題,此時便需要使用 Python IDE 進(jìn)行在線 debug,痞子衡選用的 PyCharm 軟件,創(chuàng)建 pzh-py-com 工程后將其放于 pzh-py-com 主目錄,工程會自動添加目錄下所有源文件,選中 main.py 文件后選擇 Debug(Shift+F9)便可以進(jìn)行單步調(diào)試。

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 串口調(diào)試
    +關(guān)注

    關(guān)注

    2

    文章

    267

    瀏覽量

    24676
收藏 人收藏

    評論

    相關(guān)推薦

    AT32F435CGU7做了個通訊板,串口調(diào)試助手看到,電路板有輸出,但是亂碼,為什么?

    AT32F435CGU7做了個通訊板,采用UART2與計算機(jī)進(jìn)行通訊。結(jié)果,串口調(diào)試助手看到,電路板有輸出,但是亂碼。我
    發(fā)表于 09-27 08:19

    MCUXpresso IDE下在線聯(lián)合調(diào)試雙核MCU工程的三種方法

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下在線聯(lián)合調(diào)試i.MXRT1170雙核工程的三種方法。
    的頭像 發(fā)表于 08-08 15:18 ?445次閱讀
    MCUXpresso IDE下在線<b class='flag-5'>聯(lián)合調(diào)試</b>雙核MCU工程的三種方法

    STC串口驅(qū)動調(diào)試程序

    STC的串口驅(qū)動調(diào)試程序。
    發(fā)表于 07-08 14:23 ?3次下載

    aurix development studio調(diào)試代碼時,導(dǎo)致調(diào)試中斷的原因?

    當(dāng)我 aurix development studio 調(diào)試代碼時,總是出現(xiàn)嚴(yán)重錯誤,導(dǎo)致調(diào)試中斷,我不得不重啟 studio,然后重新開始調(diào)試
    發(fā)表于 06-03 08:11

    使用串口調(diào)試工具Vofa+調(diào)試CW32

    數(shù)據(jù)接收。 1.接收數(shù)據(jù) 選擇調(diào)試方式,并選擇接口: 配置串口參數(shù): 注意這里串口參數(shù)的配置要和程序里的代碼設(shè)置一致,否則可能接
    的頭像 發(fā)表于 05-31 17:22 ?1400次閱讀
    使用<b class='flag-5'>串口</b><b class='flag-5'>調(diào)試</b>工具Vofa+<b class='flag-5'>調(diào)試</b>CW32

    超好用的紙飛機(jī)串口調(diào)試助手

    和普通串口助手不一樣,這個可以對文本增加語法高亮,單詞、數(shù)字、符號之間的顏色是不相同的??!在茫茫數(shù)據(jù)流中找數(shù)據(jù)會很方便好不好,簡直眼瞎黨的福音,用了一次回不來的那種??!
    的頭像 發(fā)表于 04-28 09:58 ?1502次閱讀
    超好用的紙飛機(jī)<b class='flag-5'>串口</b><b class='flag-5'>調(diào)試</b><b class='flag-5'>助手</b>

    Python怎么讀取STM32串口數(shù)據(jù)?

    Python寫的一個串口讀取代碼 :import serial import timeser=serial.Serial(\'com5\',9600,timeout=2)s
    發(fā)表于 04-24 07:30

    Pyserial庫來進(jìn)行與stm32的串口通信,write方法給32發(fā)數(shù)據(jù)時會出現(xiàn)數(shù)據(jù)的錯誤和缺失怎么解決?

    我使用的是Pyserial庫來進(jìn)行與stm32的串口通信,python可以很好地接收32發(fā)來的數(shù)據(jù),但是我write方法給32發(fā)數(shù)據(jù)時會出現(xiàn)數(shù)據(jù)的錯誤和缺失,同樣的32程序我
    發(fā)表于 03-12 07:32

    如何使用linux下gdb來調(diào)試python程序

    如何使用linux下gdb來調(diào)試python程序? 在Linux下,可以使用GDB(GNU調(diào)試器)來調(diào)試Python程序。GDB是一個強(qiáng)大的
    的頭像 發(fā)表于 01-31 10:41 ?2392次閱讀

    ZDP1440串口屏應(yīng)用開發(fā)如何使用虛擬串口調(diào)試

    ZDP1440串口屏應(yīng)用開發(fā)如何使用虛擬串口調(diào)試呢?本文將詳細(xì)方法分享給大家。
    的頭像 發(fā)表于 01-25 11:32 ?1588次閱讀
    ZDP1440<b class='flag-5'>串口</b>屏應(yīng)用開發(fā)如何使用虛擬<b class='flag-5'>串口</b><b class='flag-5'>調(diào)試</b>

    電機(jī)控制調(diào)試助手怎么

    電機(jī)控制調(diào)試助手是一種幫助用戶進(jìn)行電機(jī)控制調(diào)試的輔助工具。它可以提供實時監(jiān)測、參數(shù)設(shè)置、故障診斷和歷史數(shù)據(jù)分析等功能,為用戶提供便捷、高效的電機(jī)調(diào)試和優(yōu)化方法。 首先,電機(jī)控制
    的頭像 發(fā)表于 12-28 13:57 ?864次閱讀

    C#網(wǎng)絡(luò)串口調(diào)試助手源碼

    非常牛B網(wǎng)絡(luò)串口調(diào)試助手C#源碼,支持添加多條協(xié)議
    發(fā)表于 12-27 09:45 ?4次下載

    串口與網(wǎng)絡(luò)調(diào)試助手:支持廣播數(shù)據(jù)、支持選擇網(wǎng)卡

    電子發(fā)燒友網(wǎng)站提供《串口與網(wǎng)絡(luò)調(diào)試助手:支持廣播數(shù)據(jù)、支持選擇網(wǎng)卡.zip》資料免費下載
    發(fā)表于 12-27 09:40 ?2次下載

    USB調(diào)試模式是什么意思?USB調(diào)試模式有什么?

    USB調(diào)試模式是什么意思?USB調(diào)試模式有什么? USB調(diào)試模式是一種在Android設(shè)備上進(jìn)行開發(fā)、測試和調(diào)試的模式。當(dāng)設(shè)備處于USB
    的頭像 發(fā)表于 12-11 11:06 ?1w次閱讀

    python軟件怎么運行代碼

    理解的機(jī)器代碼。 在本文中,我們將詳細(xì)介紹如何運行Python代碼。我們將探討以下幾個方面:安裝Python,設(shè)置環(huán)境變量,選擇一個集成開發(fā)環(huán)境(IDE)或文本編輯器,編寫
    的頭像 發(fā)表于 11-28 16:02 ?844次閱讀