常見問題
接不上硬體
先分清楚是「找不到」還是「被佔著」。
dongle 列出掃到的全部後端與狀態
dongle who 查出是誰正佔著裝置
dongle rescan 重新掃描 dongles/ 目錄最常見的是另一個還開著的程式佔著它——包括本程式的另一個執行檔。視窗版和 終端機版不能同時跑。
換了 USB 孔?dongle rescan。啟動時沒插?插上去它會自己接上,不用重開。
讀出來全是 --
-- 的意思是還沒讀過,不是讀到 0。先 rd 一次,或開啟輪詢。
讀出來全是 FF
多半是位址不對,或是 IC 沒有回應。scan 掃一遍匯流排,看看實際上有誰在。
值不會動
檢查輪詢是不是關著(狀態列會顯示)。poll off 的時候監看清單停止更新、觸發條件
也不會被檢查——這是預期行為。
監看清單裡的值和暫存器表對不上
多半是 bank 不同。bank reg 設錯不會報錯,只會讓你讀到另外一頁。
暫存器定義面板一直顯示 NO DEFINITION
定義檔是逐 (裝置, 頁, 位移) 對應的,而且頁是用 8-bit 寫入位址宣告的——
定義檔寫 0xB0,對應的是匯流排上的 7-bit 0x58。面板下方會印出它查了什麼,
拿那組值去對定義檔。換個位移試也沒用:對不上裝置的話,哪一格都查不到。
Plugin 掛上去了,面板卻說 no plugin mounted
plugin switch 要帶 @p<N>。 不帶的話它掛到別的面板上了,而且整個過程
不會有任何錯誤訊息。
同一個面板想換另一顆 Plugin
可以,但要先卸載、等它卸完、再掛新的:
plugin unload 卸載焦點面板上的 Plugin(先按 F6 移過去);焦點沒有時會列出別處的掛載
plugin unload @p<N> 卸載掛在面板 N 的 Plugin(不必先移焦點)
plugin unload <name> 沒有面板的 Plugin 用名稱指定
p <新名稱> @p<N> 掛到同一個面板卸載不是立刻完成的:指令只回 unloading ... (queued jobs will finish first),
要等 Log 出現 plugin '<名稱>' unloaded 才算空出來。太早掛新的會看到
this tab is still unloading,稍等再下一次就好;沒先卸載會看到
another plugin is mounted, run 'plugin unload' first——它不會直接蓋掉舊的。
這個面板設過的位址、dongle 會保留,新掛上的 Plugin 沿用。想把同一顆 Plugin 原地重新跑一遍(例如它載入失敗、或崩潰之後),用 plugin restart(可加 @p<N>,或寫名稱):它自己卸載、再把同一顆掛回同一個面板,不必記面板號;失敗時 Log 的最後一句就是該打的指令。
同一個 Tab 接好幾支 dongle
可以。dongle 是逐面板指定的:每個暫存器表各自決定走哪一支,每個 Log 面板 可以只看其中一支。

dongle 列出掃到的 dongle 名稱
layout @p0 reg_table 把面板排好(這裡:上兩格暫存器表、下兩格 Log)
layout @p1 reg_table
layout @p2 i2c_log
layout @p3 i2c_log
mount 0x58 @p0 在 p0 掛一個裝置
dongle <名稱> @p0 p0 的裝置走這支 dongle
mount 0x50 @p1 在 p1 掛另一個裝置(沒指定 dongle 就走預設那支)
log bus <名稱> @p2 p2 的 Log 只顯示這支 dongle 的讀寫
log bus <名稱> @p3
log bus off @p2 取消,恢復顯示全部幾個要注意的地方:
- 名稱照
dongle列出來的打。 同型號插兩支時會帶序號,例如ui2c@c9739c。 - 沒指定 dongle 的面板走預設那支——啟動時自動接上的,或
--dongle指定的。 - 預設已經在用的那支,不能再指給別的面板,會看到
already bound to another mount/bus。要嘛那個面板就不指定、直接用預設;要嘛先dongle close關掉預設,再逐一dongle <名稱> @p<N>。 - 指定完的對應會記在設定裡,下次開啟沿用。
圖中第二支用的是模擬後端 mock,所以它是用 --dongle mock 當成預設那支開起來的;
兩支都是實體 dongle 時,指令完全一樣,只是名稱換成實際的。
找不到某顆 Plugin
視窗版用 ☰ → Plugin → Rescan plugins/ folder 重新掃描 plugins/ 目錄;終端機版沒有對應的指令,重新啟動程式即可。
更新之後 Plugin 不見了
更新只更新程式本身,不會動 plugins/。
開啟時出現找不到 api-ms-win-crt-….dll
訊息類似「找不到 api-ms-win-crt-runtime-l1-1-0.dll」(或 ucrtbase.dll)。這表示
Windows 沒有 Microsoft 的 C 執行階段(UCRT)。Windows 10/11 內建,所以多半發生在
Windows 7 SP1 或 8.1。安裝檔與免安裝版都不再附帶它,請安裝
KB2999226(Update for Universal C Runtime),
依你的 Windows 版本與 32/64 位元選擇下載項目(32 位元的 Windows 選 x86,
64 位元的 Windows 選 x64)。
Windows 7 必須是 Service Pack 1;Windows 8.1 須先安裝 2014 年 4 月的更新彙總 (KB2919355)。
SmartScreen 擋住安裝檔
安裝檔未經數位簽章。點「更多資訊」→「仍要執行」。
logs/ 會被清掉嗎
不會。那是你的量測資料,更新不碰它,解除安裝也不刪它。
設定跑掉了
設定在 %USERPROFILE%\.config\nexus_tui\config.ini,兩個版本共用。
☰ → File → Open config.ini 可以直接打開。
程式不會因為某個設定暫時讀不到就把它刪掉——但如果解析不了,它會保留原樣並記一筆
警告,那一行的值就不會生效。警告會出現在 Log 的 System 分頁,例如
config: [Tab1] poll_interval_ms='abc' invalid, using 50(哪個區段、哪個欄位、你寫了什麼、實際用了什麼);
打錯的欄位名稱也會提示,例如 unknown key 'dongel' (kept, ignored) - did you mean 'dongle'?。
32-bit 還是 64-bit
絕大多數人要 64-bit。 只有舊機器跑不動 64-bit 時才需要 32-bit。兩者功能相同。
沒有硬體可以先玩玩看嗎
可以。dongle mock 切到模擬後端,它在內部模擬一顆 256 位元組的裝置,讀寫都會真的
改變內容。想邊玩邊學著自動化,見 Lua 自動化——整份教學從頭到尾都用
mock,不需要接任何硬體。