OPH-5000iのユーザアプリケーションを開発するために使用する 開発環境でご確認ください。
以下の例では、Bluetooth SPP MasterでMFi通信によるデータの送受信を行うサンプルコードを解説します。
通信設定
サンプル
setconfig_comapi spp_cfg; SetDefault(COM3);//SPP/Master strncpy((char *)spp_cfg.blt.address, bdAddress, BLT_BD_ADDR_LEN); spp_cfg.blt.iPhoneMode = ENABLE_IPHONE_MODE_SPP_MASTER; SetConfig(port, (void *)&spp_cfg);
MFi通信APIの利用
主なMFi通信APIの使用方法について、サンプルコードを用いて解説します。
- Bluetooth MFiの通信セッションの接続状態を取得する
GetMfiAccessoryStatus関数はOPH-5000iのBluetooth MFiの通信セッションの接続状態を取得します。
サンプルmfiStatus = GetMfiAccessoryStatus(); if (mfiStatus != iAP2_EASs_CONNECT){ if (prevMfiStatus != mfiStatus){ printf("Accessory close\r\n"); ScannerPower(OFF, 0); } }else{ if (prevMfiStatus != mfiStatus){ printf("Accessory open\r\n"); ScannerPower(SINGLE, 3 * 50); printf("Waiting receive host:\r\n"); } ...... }
- 指定されたCOMポートの接続状態の接続状態を取得する
GetConnectionStatus関数は指定されたCOMポートの接続状態を取得します。
サンプルif (GetConnectionStatus(COM3) != COM_STATE_CONNECT) { printf("Disconnected\r\n"); Cursor(NOWRAP); ComClose(COM3); break; }
- Bluetooth MFi送信
AccessoryDataTransfer関数はBluetooth MFiによる通信でデータを指定バイト数分、送信します。
サンプルif (ReadBarcodeEx(&bcr) == OK){ /** ----- Barcode data send ----- **/ AccessoryDataTransfer(bcr.text, bcr.length); printf(bcr.text); printf("\r\n"); }
- Bluetooth MFi受信
GetCom関数は1バイトのデータを通信ポートより読み込みます。
サンプル/** ----- Data receive ----- **/ while ((recvData=GetCom(0)) >= 0){ if (recvData > ' ' && recvData < 0x7f){ int prevColor = SetTextColor(RGB_BLUE); putchar(recvData & 0xFF); SetTextColor(prevColor); } }
関連事項
最終更新日:2021/10/29