Objective-C Последовательный - Mac OS X

В настоящее время я запускаю followin в Terminal для отправки команды через последовательный порт USB.

/Users/drummerboyx/Library/Scripts/arduino-serial -b 9600 -p /dev/tty.usbserial-A800ev0Z -s 1

Есть ли способ сделать это в Objective-C?

Ответ 2

ORSSerialPort - это более новая, более простая в использовании альтернатива AMSerialPort.

Использование ORSSerialPort для открытия порта и отправки данных может быть таким же простым, как это:

ORSSerialPort *serialPort = [ORSSerialPort serialPortWithPath:@"/dev/cu.KeySerial1"];
serialPort.baudRate = [NSNumber numberWithInteger:4800];
[serialPort open];
[serialPort sendData:someData]; // someData is an NSData object
[serialPort close];

Ответ 3

Если вы просто хотите запустить эту команду из своего кода, вы можете использовать функцию system:

#include <stdio.h>
#include <stdlib.h>

system("/Users/drummerboyx/Library/Scripts/arduino-serial -b 9600 -p /dev/tty.usbserial-A800ev0Z -s 1");

Вам нужно установить расширение файла исходного кода Objective-C на .mm, которое сообщает Xcode скомпилировать его как Objective-C ++.

Ответ 4

Если вы хотите придерживаться Cocoa - посмотрите NSTask.