Linux
使用 Bash 腳本將 CPU 溫度寫入埠 0x80 Bios 調試卡
我在 PCI 插槽中安裝了埠 0x80 BIOS 調試後卡。我想在啟動後通過在卡上顯示 CPU 溫度來有目的地使用它。地址佔用一個字節並以十六進制顯示。如何將兩位十進制攝氏溫度值轉換為單個字節以寫入卡?請記住,顯示是十六進制的,因此字節輸出需要轉換為以 10 為基數的可讀內容,儘管此時僅獲取字節會有所幫助。Google搜尋讓我發瘋。
例如
echo d | dd of=/dev/port bs=1 count=1 seek=128
,顯示 64,即字母 d 的 ASCII 字節。cat /sys/class/hwmon/hwmon0/temp2_input | cut -c1-2
以 ASCII 的兩個字節給出 CPU 溫度(°C):58
最好使用 bash 命令字元串,因為它可以使用 cron 作業或 systemd 計時器呼叫。
謝謝!!!
您想將讀取為十進制值的溫度轉換為對應於十六進制值的字元,當顯示時,讀取與溫度相同…
這個請求聽起來比實際上更複雜。
printf
可用於列印與給定字元程式碼對應的字元:$ printf "\x64\n" d
所以你會得到你想要的結果
printf "\x$(cut -c1-2 < /sys/class/hwmon/hwmon0/temp2_input)" | dd of=/dev/port bs=1 count=1 seek=128