ble_read

characteristic を読み取る

ble_read dev_h, "svc", "chr", var_buf, buf_size, var_len

dev_h    : デバイスハンドル
svc      : サービス UUID
chr      : characteristic UUID
var_buf  : バイト列を受け取る変数 (sdim 済)
buf_size : var_buf に sdim で確保したバッファサイズ
var_len  : 受信バイト数を受け取る int 変数

(プラグイン / モジュール : hspble.dll)

解説

GattCharacteristic::ReadValueAsync を同期実行し、取得したバイ
ト列を var_buf へ書き込みます。実際に書き込まれたバイト数は
var_len に int で返します。
var_buf は事前に sdim で十分なサイズを確保し、その sdim サイズを
buf_size に指定してください。

関連項目

ble_writecharacteristic に書き込む(hspble.dll)
ble_notify_enableNotify 購読を有効化(hspble.dll)

情報

プラグイン / モジュールhspble.dll
バージョン1.0
作成日2026-04-15
著作者IronHSP / hspble
URLhttps://github.com/inovia/IronHSP
備考hspble.dll は Windows 10 以降に搭載された Windows.Devices.Bluetooth
(WinRT) を使って、BLE セントラル機能 (GATT クライアント) を
HSP3 に提供します。

提供機能:
- BluetoothLEAdvertisementWatcher によるアドバタイズスキャン
- BluetoothLEDevice::FromBluetoothAddressAsync による接続
- GATT サービス / キャラクタリスティックの列挙
- Read / Write / Notify

非同期 WinRT API は内部で .get() による同期待ちにしているので、
HSP 側からは通常の同期命令として扱えます。ただし接続や Read は
数百 ms ブロックすることがあるので、リアルタイム描画ループと
併用する場合は注意してください。

スキャン結果と Notify はバックグラウンドスレッドで内部キュー
に蓄積され、ble_scan_poll / ble_notify_poll で 1 件ずつ取り
出す方式です (STA 不要)。
タイプ拡張命令
グループhspble ― GATT I/O
対応環境
  • その他 : Win32 / Win64 (Windows 10 以降、BLE 対応アダプタ必須)
hs ファイルhsphelp\hspble.hs