Существует ли более простой пример для выполнения последовательной связи с использованием EAAccessory? - PullRequest
0 голосов
/ 06 января 2011

Я пишу приложение для iPhone, которое должно отправлять и получать данные через последовательное соединение.Я изучал EADemo Apple, найденный здесь: Ссылка EAAccessory

Проблема в том, что я нахожу этот пример слишком сложным для восприятия. Есть ли более простой пример для отправкии получать и от подключенного аксессуара через последовательное соединение?

Я ищу что-то вроде отправки четырех целочисленных значений на аксессуар, а затем отправки их обратно на iPhone с использованием буфера const char.

Ответы [ 2 ]

1 голос
/ 11 января 2011

Обойдется вам в 5 долларов на Amazon, но примеры просты: Электронная книга EAAccessory

0 голосов
/ 23 октября 2012

Если вы используете 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]];   
...