シリアル接続を介してデータを送受信する必要がある iPhone アプリケーションを作成しています。私はここで見つかったアップルを研究していEADemo
ます: EAAccessory リファレンス
問題は、この例が複雑すぎて理解できないことです。シリアル接続を介して接続されたアクセサリとの間で送受信する方法について、より簡単な例はありますか?
const char
4 つの整数値をアクセサリに送信し、バッファ を使用してそれらを iPhone に送り返すようなものを探しています。
シリアル接続を介してデータを送受信する必要がある iPhone アプリケーションを作成しています。私はここで見つかったアップルを研究していEADemo
ます: EAAccessory リファレンス
問題は、この例が複雑すぎて理解できないことです。シリアル接続を介して接続されたアクセサリとの間で送受信する方法について、より簡単な例はありますか?
const char
4 つの整数値をアクセサリに送信し、バッファ を使用してそれらを iPhone に送り返すようなものを探しています。
Amazon では 5 ドルかかりますが、例は簡単です: EAAccessory ebook
MFiプログラミングを使用する場合、それは非常に簡単だと思います。まず、接続を設定する必要があります。このステップでは、外部アクセサリのプロトコル文字列を知っている必要があります。このプロトコル文字列でセッションを開きます。セッション使用コードを開く場合:
_session = [[EASession alloc] initWithAccessory:accessory forProtocol:_iAPProtocolString];
if (_session)
{
[[_session inputStream] setDelegate:self];
[[_session inputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[[_session inputStream] open];
[[_session outputStream] setDelegate:self];
[[_session outputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[[_session outputStream] open];
}
次に、次のように外部アクセサリにデータを書き込むことができます。
uint8_t buff[4];
buff[0] = 0xE0;
buff[1] = 0x10;
buff[2] = 0x00;
buff[3] = 0x1A;
bytesWritten = [[_session outputStream] write:[_writeData bytes] maxLength:[_writeData length]];