VOFA+ 顯示數據、波形

本篇,以最常用的串口通信作展示,示范如何通過VOFA+顯示數據波形。


一、VOFA+?下載

VOFA+?是一款面向嵌入式開發上位機軟件,專注于硬件數據實時可視化與調試。它通過高效協議(如FireWater、JustFloat)將原始字節流轉化為動態圖形(波形圖、3D控件等),兼具高性能通信(串口/網口)與零代碼可視化優勢。

軟件提供全功能免費版本,無注冊限制。

官網下載:https://www.vofa.plus


二、數據格式

1、數據協議種類

VOFA+,支持三種數據協議。

  1. FireWater默認且最常用。功能強大,即能作為串口助手顯示文本數據,也能解析并顯示波形。
  2. JustFloat:?專為超高頻率的浮點數據傳輸優化。用于極高刷新率的波形顯示場景。較少用到。
  3. RawData:?純粹的串口助手模式。僅顯示原始數據(文本、16進制)。不解析數據,因此無法顯示波形。

本篇將重點介紹最常用的?FireWater?協議。

2、FireWater 數據格式詳解

FireWater 協議的核心思想是將數據點(通常是數值)嵌入到字符串幀中,VOFA+ 通過識別特定的分隔符來提取這些數據點并繪制波形。

它提供兩種靈活的格式以適應不同場景:

  • 方式1:"<any>:ch0,ch1,ch2,......chN\n"
  • 方式2:"ch0,ch1,ch2,......chN\n"

格式解釋:

  1. <any> 指任意前綴文本,?可以是任何字符組合?(英文字母、中文、符號、空格等),這部分內容會原樣顯示在VOFA+的“數據”區域,方便閱讀調試信息、時間戳、標簽等。
  2. 方式1中,<any>與數據之間,用英文的冒號":"作分隔!它是關鍵分隔符!VOFA+通過尋找第一個冒號來識別數據的開始位置。如果缺少這個冒號,或使用了中文冒號(:),該幀只能顯示文本,無法解析波形。
  3. 方式2中,沒有<any>,無需":"分隔符。
  4. ch0,ch1,ch2,......chN:?是實際的數據點,通常是整數、浮點數。每個chX代表1個通道的值。
  5. 數據點之間,用英文的分號","作分隔!它是關鍵分隔符!
  6. 數據點之間(逗號周圍),允許存在任意空格。例如 "23.5, 24.0\n"? 或 " 23.5? ,?? ? ?24.0? \n",都有效。
  7. 每幀數據,以"\n"結尾。它是幀結束標志!VOFA+ 只有檢測到換行符?\n,才會開始處理這一幀數據(顯示文本并解析波形)。為了提高兼容性,強烈建議使用 "\r\n" 作為行結尾。

下面三個例子,都是有效示范:

printf("samples:1.1,3.2,-0.6,-0.9\n");printf("第%d幀數據: %4.3f,? %04d,? %d? \r\n", myCNT, myFloat, myValue1, myValue5);printf("?%4.3f, ? ? ? ? ? ? %4.3f, %4.3f ? ? \r\n",? v0,? v1,? v2);

三、VOFA+?操作步驟

我們先看看STM32程序的示例,和數據在普通串口助手中的輸出。

如下圖,很簡潔的ADC數據,每1s通過printf (已重定向UART1) 輸出一次。

在串口助手XCOM中,輸出如下:

程序的輸出,能夠在串口助手XCOM中正常輸出。這些都是最基礎、最常用的調試操作。

現在,關掉串口助手(必須關掉,不然它會占用端口,VOFA+無法檢測到對應的端口)。

1、VOFA+ 與主流串口助手的操作區別

VOFA+的界面設計,與常用的串口助手有所不同。第一次使用時,可能會有點手足無措

把它當成一個加強版本的串口助手即可。

最常用的參數配置,如下:

  • 數據引擎:FireWater (默認)
  • 數據接口:串口(默認)
  • 串口參數:如同其它主流串口助手,默認即可

重點:連接按鈕(打開串口)左上角

2、數據顯示

點擊?VOFA+ 的連接按鈕(打開串口),按鈕會從深藍色,切換為淺藍色狀態。

當有數據傳輸時,這個按鈕還會閃爍提示!

連接后,狀態如下圖。

  • 下方:顯示原始數據;?
  • 右側:是VOFA+的解析數據;?它們后面可以被添加到控件中顯示。

不能顯示數據的解決

連接打開后,不能顯示數據時,依次檢查:

  • 端口號、波特率 等通信參數 (用其它串口助手,跑一次相同參數,看看是否能收到數據);
  • 檢查下圖中這個選項 (很多人坑在這個位置);

3、波形顯示

① 添加 波形控件

在控件區,把需要的控件,拖到右方顯示區。

②?填充方式

右擊控件,選擇填充方式,一般用全填充。

③?添加通道

右擊控件,Y軸,選擇需要的通道。

能用的通道,就是右側那些解析出來的通道。可以單個選擇,也可以All 全部添加!

④?調整波形

剛顯示出來的數據,如圖,很多時候是"不太好看"。

一般通過如下3個調整,可以把波形合適地顯示出來。

(下圖為了清晰地展示效果,只保留一個通道的波形)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/93290.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/93290.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/93290.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL 插入數據提示字段超出范圍?一招解決 DECIMAL 類型踩坑

MySQL 插入數據提示字段超出范圍&#xff1f;一招解決 DECIMAL 類型踩坑 在日常數據庫操作中&#xff0c;我們經常會遇到各種字段類型相關的問題。今天就來聊聊一個常見的錯誤&#xff1a;插入數據時提示字段值超出范圍&#xff0c;以實際案例帶你搞懂 MySQL 中 DECIMAL 類型的…

一周學會Matplotlib3 Python 數據可視化-繪制誤差條形圖

鋒哥原創的Matplotlib3 Python數據可視化視頻教程&#xff1a; 2026版 Matplotlib3 Python 數據可視化 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili 課程介紹 本課程講解利用python進行數據可視化 科研繪圖-Matplotlib&#xff0c;學習Matplotlib圖形參數基本設置&…

JVM垃圾回收器

垃圾回收算法標記-復制缺點&#xff1a;內存利用率低&#xff0c;有一塊區域無法使用。標記-清除缺點&#xff1a;1. 效率問題 (如果需要標記的對象太多&#xff0c;效率不高)2. 空間問題&#xff08;標記清除后會產生大量不連續的碎片&#xff09;標記-整理分代收集根據對象存…

科研工具的一些注意事項

Origin Origin導入數據之后&#xff0c;可以考慮 [刪除數據連接器…] 導入數據之后&#xff0c;刪除數據連接&#xff0c;這樣當原來的文件移動之后&#xff0c;就不影響origin文件里面的數據。不然就會出現空白數據&#xff1a;當然&#xff0c;沒有數據了也可以加載出來&…

美國服務器環境下Windows容器工作負載智能彈性伸縮

在北美數據中心加速數字化轉型的今天&#xff0c;企業客戶日益重視Windows容器工作負載的智能化管理。本文將深入探討基于Azure Stack HCI&#xff08;混合云基礎設施&#xff09;的彈性伸縮方案如何突破傳統資源調度瓶頸&#xff0c;通過分析指標收集、策略配置、混合云聯動三…

歐姆龍CP系列以太網通訊實現上位機與觸摸屏監控

一、行業痛點在現代工業生產中&#xff0c;自動化生產線的控制系統的高效性與智能化程度對生產效率和產品質量有著至關重要的影響。然而&#xff0c;許多傳統工業生產線中使用的歐姆龍CP系列系列PLC以太網模塊&#xff0c;由于自身設計原因&#xff0c;并未配備以太網接口&…

【大語言模型 00】導讀

【大語言模型00】導讀&#xff1a;你的LLM全棧工程師進階之路關鍵詞&#xff1a;大語言模型、LLM、Transformer、深度學習、AI工程化、全棧開發、技術路線圖摘要&#xff1a;這是一份完整的大語言模型學習指南&#xff0c;涵蓋從數學基礎到商業落地的200篇深度文章。無論你是AI…

Business Magic

題目描述There are n stores located along a street, numbered from 1 to n from nearest to farthest. Last month, the storek had a net profit of rk . If rk is positive, it represents a profit of rk dollars; if rk is negative, it represents a loss of ?rk dolla…

在ubuntu系統上離線安裝jenkins的做法

作者&#xff1a;朱金燦 來源&#xff1a;clever101的專欄 1.安裝java環境和下載war包&#xff1a; Jenkins 依賴于 Java 環境&#xff08;OpenJDK 11 或更高版本&#xff09;&#xff1a; # 安裝OpenJDK 11和字體依賴 sudo dpkg -i openjdk-11-jre-headless_*.deb fontconfi…

圖像相似度算法匯總及Python實現

下面整理了一些圖像相似度算法&#xff0c;可根據不同的需求選擇不同的算法&#xff0c;對每種算法進行了簡單描述并給出Python實現&#xff1a; 1. 基于像素的算法&#xff1a; (1).MSE(Mean Squared Error)&#xff1a;均方誤差&#xff0c;通過計算兩幅圖像對應像素值差的平…

IO流與單例模式

單例模式 單例模式是指一個類只能有一個對象。 餓漢模式 在單例模式下&#xff0c;在程序開始&#xff08;main函數運行前&#xff09;的時候創建一個對象&#xff0c;這之后就不能再創建這個對象。 class HungryMan { public:static HungryMan* getinstance(){return &ins…

Java設計模式之依賴倒置原則使用舉例說明

示例1&#xff1a;司機駕駛汽車 問題場景&#xff1a;司機類直接依賴奔馳車類&#xff0c;新增寶馬車需修改司機類代碼。 // 未遵循DIP class Benz { public void run() { /*...*/ } } class Driver { public void drive(Benz benz) { benz.run(); } } // 遵循DIP&#xff1a;…

【Docker】openEuler 使用docker-compose部署gitlab-ce

docker-compose配置 services:gitlab:image: gitlab/gitlab-ce:latestcontainer_name: gitlabrestart: alwayshostname: gitlab.example.comenvironment:GITLAB_OMNIBUS_CONFIG: |# Add any other gitlab.rb configuration here, each on its own lineexternal_url https://gi…

ElasticSearch 父子文檔使用簡記

一. ES parent-child 文檔簡介 ES 提供了類似數據庫中 Join 聯結的實現&#xff0c;可以通過 Join 類型的字段維護父子關系的數據&#xff0c;其父文檔和子文檔可以單獨維護。 二. 父子文檔的索引創建與數據插入 ES 父子文檔的創建可以分為下面三步&#xff1a; 創建索引 M…

【Linux】編輯器vim的使用

目錄 1. vim的基本概念 2. vim的基本使用 3. vim命令模式操作 3.1 移動光標 3.2 刪除 3.3 復制 3.4 替換 3.5 撤銷 3.6 更改 3.7 跳轉 4. vim底行模式操作 4.1 列出行號 4.2 跳到文件中的某行 4.3 查找字符 4.4 保存文件 4.5 離開vim 1. vim的基本概念 Vim&…

《零基礎掌握飛算Java AI:核心概念與案例解析》

前引&#xff1a;飛算科技是一家專注于企業級智能化技術服務的公司&#xff0c;核心領域包括AI、大數據、云計算等。其Java AI解決方案主要面向企業級應用開發&#xff0c;提供從數據處理到模型部署的全流程支持&#xff01;飛算Java AI是一款基于人工智能技術的Java開發輔助工…

Chrome騰訊翻譯插件transmart的安裝

文章目錄一、官網地址二、安裝過程1. 下載插件2. 解壓crx3, chrome安裝三、如何使用一、官網地址 騰訊翻譯插件官網 二、安裝過程 1. 下載插件 點擊上面的官網地址&#xff0c;下拉到如圖所示chrome插件位置&#xff0c;點擊立即下載 2. 解壓crx 從壓縮文件中解壓出crx文…

IOMMU的2級地址翻譯機制及多級(2~5)頁表查找

IOMMU的2級地址翻譯機制及多級(2~5)頁表查找 摘要:IOMMU是現代計算機系統中用于I/O設備(如GPU、NIC、網絡接口卡)的地址翻譯和保護機制,類似于CPU的MMU(Memory Management Unit),但專為設備DMA(Direct Memory Access,直接內存訪問)設計。它支持虛擬化環境(…

C++STL標準模板庫詳解

一、引言STL&#xff08;Standard Template Library&#xff09;是 C 標準庫的核心組成部分&#xff0c;其中容器&#xff08;Containers&#xff09; 作為數據存儲的基礎組件&#xff0c;為開發者提供了豐富的數據結構選擇。本文將聚焦 STL 容器的核心類型&#xff0c;結合具體…

神經網絡 常見分類

&#x1f4da; 神經網絡的常見分類方式可以從不同角度來劃分&#xff0c;以下是幾種主流思路&#xff0c;幫你快速梳理清晰&#xff1a;1?? 按網絡結構分類前饋神經網絡&#xff08;Feedforward Neural Network, FNN&#xff09; 數據從輸入層→隱藏層→輸出層單向傳遞&#…