Существует ли более простой пример для выполнения последовательной связи с использованием EAAccessory?
Я пишу приложение для iPhone, которое должно отправлять и получать данные через последовательное соединение. Я изучал Apple EADemo
найти здесь: EAAccessory ссылка
Проблема в том, что я нахожу этот пример слишком сложным для восприятия. Есть ли более простой пример того, как отправлять и получать на и с подключенного аксессуара через последовательное соединение?
Я ищу что-то вроде отправки четырех целочисленных значений на аксессуар, а затем отправляю их обратно на iPhone с помощью const char
буфер.
2 ответа
На Amazon будет стоить 5 долларов, но примеры просты: электронная книга EAAccessory
Если вы используете 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]];