Существует ли более простой пример для выполнения последовательной связи с использованием 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]];   
Другие вопросы по тегам