為了爽快地調(diào)試硬件,我跟串口調(diào)試助手杠上了
本文來自于知乎「厄蘭德森」投稿, 感謝作者的分享
嵌入式ARM歡迎各位投稿
編輯:付斌
跟嵌入式硬件打過交道的人都知道,在調(diào)試硬件時,經(jīng)常要用到上位機(jī)、下位機(jī)聯(lián)合調(diào)試。
串口助手是應(yīng)用最廣泛的調(diào)試上位機(jī),簡單的調(diào)試需求,比如僅僅是看一眼程序的執(zhí)行結(jié)果,調(diào)試助手可以應(yīng)付的,簡單方便,拿起就用。但遇到稍微復(fù)雜一點的調(diào)試需求時,串口助手就滿足不了要求了。舉個例子,調(diào)試PID算法的時候,需要實時觀測傳感器的數(shù)據(jù)曲線特征,實時調(diào)整比例、積分、微分3個參數(shù),沒有人會想用串口助手來調(diào)試。
來自日本的primer v2機(jī)器人,靠PID算法控制平衡
很多人在遇到復(fù)雜的調(diào)試需求時,會選擇自己編寫上位機(jī)。對于不懂得上位機(jī)編程又找不到合適工具的人,往往選擇串口助手湊合著用。
一個合格的嵌入式硬件調(diào)試工具,其實應(yīng)該更貼心一點,在不增加使用難度的情況下,讓即使不懂得上位機(jī)編程的開發(fā)者,也能直觀地觀測數(shù)據(jù)、微調(diào)參數(shù)。另外,調(diào)試助手作為一個輔助工具,不能增加用戶的學(xué)習(xí)成本,需要像串口助手一樣簡單易用。于是筆者有了自己編寫一個通用調(diào)試工具的想法。
“伏特+”,寓意名酒伏特加,之前跟朋友開過一個玩笑,說喝酒之后,編程特別有靈感。因此我將整個軟件也設(shè)計成默認(rèn)藍(lán)色伏特加雞尾酒的風(fēng)格,主題顏色可以根據(jù)用戶喜好,通過拖動滑塊進(jìn)行修改,每個用戶就像調(diào)酒師一樣,喜歡什么口味的伏特加自己調(diào),希望這個軟件擁有雞尾酒的功效,能提高各位開發(fā)者的調(diào)試效率。
伏特加擁有統(tǒng)計功能、支持條形圖、直方圖、頻域圖顯示。不僅支持二維調(diào)試、還支持三維調(diào)試。伏特加還有開放性的特點,用戶可以添加自定義控件,通過圖形化界面的方式在線修改程序參數(shù),查看數(shù)據(jù)結(jié)果。自定義控件的源碼是開源的,用戶可以根據(jù)需要自己編寫自定義控件。
軟件不僅支持2維調(diào)試,還支持3維調(diào)試,用戶可動態(tài)添加控件。自定義控件源碼開源,可動態(tài)插入,用戶可以根據(jù)現(xiàn)有的例子編寫自己的控件。
軟件不僅支持2維調(diào)試,還支持3維調(diào)試,用戶可動態(tài)添加控件。自定義控件源碼開源,可動態(tài)插入,用戶可以根據(jù)現(xiàn)有的例子編寫自己的控件。
下面是這個軟件更詳細(xì)的功能介紹:
1. 支持網(wǎng)絡(luò)、串口調(diào)試兩種調(diào)試方式,普通調(diào)試助手具備的十六進(jìn)制、字符串調(diào)試功能也依然具備。
2. 能圖形化(波形圖、條形圖)顯示硬件發(fā)送的數(shù)據(jù),并且圖形可以隨意放大縮小移動,能對數(shù)據(jù)進(jìn)行簡單分析(直方統(tǒng)計、頻率分析),并且圖形化顯示。
發(fā)送了4組數(shù)據(jù),生成了4個波形,4組控件
波形小圖顯示模式
波形圖+條形圖模式
波形圖+直方統(tǒng)計圖模式
波形圖+頻譜圖模式,圖中波形由頻率為2Hz、4Hz,直流分量為0,幅值為1的2個正弦波組成
緩沖區(qū)大小、顯示區(qū)大小,緩沖區(qū)上限,可以通過拖動滑塊來控制
3. 支持添加自定義圖形控件,方便用戶以圖形化的方式, 調(diào)整程序參數(shù),查看數(shù)據(jù)狀態(tài)。
小方框是為了方便配置,在控件鎖定后會消失
狀態(tài)燈周圍的小方框是為了方便配置,在控件鎖定后會消失
4. 接收到數(shù)據(jù)和自定義的控件,可以保存。數(shù)據(jù)可以很方便地轉(zhuǎn)移到Matlab等專業(yè)數(shù)學(xué)軟件做進(jìn)一步分析,控件可以下次載入繼續(xù)使用。
軟件的運營方面,是通過攢貢獻(xiàn)兌換激活時間,貢獻(xiàn)的來源包括在線捐贈開發(fā)者、提交功能建議、了解廣告等形式,而自定義控件是開源的,也歡迎有能力的開發(fā)者為大家貢獻(xiàn)控件代碼,被接納的開發(fā)者將獲得永久激活權(quán)限。
有興趣獲取軟件的朋友,可以前往百度網(wǎng)盤下載:https://pan.baidu.com/s/1yNC56G5zKkhWI5laRmoX7Q
自定義控件的github如下,在這里會繼續(xù)給伏特加增加控件,有能力的小伙伴也歡迎貢獻(xiàn)代碼。