Hobby Lab 趣味のモノ作り実験のサイトです。
Software プログラミング Python LibrarySMBus
1.SMBusとは
2.SMBusコマンド

Sf:Programming関係
C 関係
 C言語でプログラムミング
Python 関係
はじめに
 RaspberryPi開始
 Windows開始
共通事項
 プログラミングNote
 パッケージ導入 pip
 標準ライブラリ
 Serialライブラリ
 SMBusライブラリ
HTML関係
 開始とNote
Sf:OS関係
SfO:Mint 関係
 PCへMint導入
 アプリ導入
 その他1
 アイコンを作る
SfO:Ubuntu 関係
 PCへUbuntu導入
 アプリ導入
SfO:RaspberryPi 関係
はじめに
 RaspberryPiへOS導入
 アプリ導入
 Programming
シェル・コマンド関係
 LXTerminal
 sed
 i2ctools
I/O・アプリ関係
 RealVNCとViewer
 IO動作確認
 MySQL
 Python
 raspberrypiハード
Sf:Server 関係
SfS:レンタルサーバー
 CORE-X
SfS:Windowsサーバー
 XAMPPの概要と導入
 Note XAMPP
 Note XAMPP Err
 Note Apache
 Note PHP
 Note MyQSL
Sf:IDE 開発環境
SfI:STM32
 STM32CubeIDEでプログラム
 HALと直接レジスター操作の速度
SfI:CH32
 MounRiver Studioでプログラム
SfI:Arduino
各ボード毎の設定
 Uno 設定
 Mega2560 設定
 DUE_CH340 設定
 ESP_WROOM02 設定
 ESP12F_D1mini 設定
 ESP32 設定
 CH32V 設定
ライブラリー
 OneWire使い方
その他
 日本語リファレンス(外部リンク)
 WiFi Macアドレスを調査
Sf:AP アプリ関係
SfA:エディタ
SfA:回路図CAD
SfA:回路シミュレータ
 シミュレーションの設定
 色の設定
 電源設定設定
SfA:リモートソフト
Sf:Pt プロトコル関係
SfPt:MODBUS
Sf:Otgers その他

1.SMBus とは

 I2CのプロトコルにはSMBus(System Management Bus)やPMBus(Power Management Bus)があり、SMBusは温度や電圧などを監視するシステムを制御しやすいようにするものです。
 Pythonのモジュールとして開発されたSMBusもこの用途に対して作成されたものと思う。
 また
 なおSMBusについては analog.com の I2Cプライマ、SMBus、PMBusの仕様を学ぶ に詳細に解説されている。


2.SMBusコマンド

write_quick(int addr) 読み取り/書き込みビットのみを送信する。
read_byte(int addr) デバイス レジスタを指定せずに 1 バイトを読取る。
write_byte(int addr,char val) デバイス レジスタを指定せずに 1 バイトを送信する。
read_byte_data(int addr,char cmd) バイト データ トランザクションを読取る。
write_byte_data(int addr,char cmd,char val) バイトデータトランザクションの書き込む。
read_word_data(int addr,char cmd) Wordデータトランザクションを読取る。
write_word_data(int addr,char cmd,int val) Word Data トランザクションの書き込む。
read_block_data(int addr,char cmd) ブロックデータトランザクションを読取る。
write_block_data(int addr,char cmd,long vals[]) デバイスに最大 32 バイトを書込む。この関数は valls 配列の前に vals 配列の長さを示す最初のバイトを追加する。代わりにwrite_i2c_block_dataを使用する。
read_i2c_block_data(int addr,char cmd) ブロック読み取りトランザクション。
write_i2c_block_data(int addr,char cmd,long vals[]) ブロック書き込みトランザクション。

process_call(int addr,char cmd,int val) コールトランザクションを処理する。
block_process_call(int addr,char cmd,long vals[]) ブロック プロセス コール トランザクション。






































更新日 2025/11/25 19:34  管理者 平林 剛Hirabayashi Takeshi