Pytanie Objective-C Serial - Mac OS X


Obecnie uruchamiam śledzenie w Terminalu, aby wysłać polecenie przez port szeregowy USB.

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

Czy jest jakiś sposób, aby to zrobić w Objective-C?


10
2018-05-27 14:39


pochodzenie




Odpowiedzi:


Znaleziono google-fu:

Nie wiem nic o tym, ale nazwisko "IOKit" również brzmi całkiem obiecująco ...


8
2018-05-27 16:18



Niesamowite! AMSerialPort wygląda idealnie ... dzięki. - objectiveccoder001


ORSSerialPort to nowsza, łatwiejsza w użyciu alternatywa dla AMSerialPort.

Używanie ORSSerialPort do otwierania portu i wysyłania danych może być tak proste, jak to:

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

20
2017-07-23 05:28



Dzięki za wskazówkę, wygląda to na znacznie czystszą bibliotekę! - Jason Whitehorn
Zrobiłeś literówkę z serialPortWithPath:, powiedziałeś serialPortWithWithPath:, dodałeś dodatkowy w nazwie metody. - Matthew S.
Uwaga: jeśli chcesz obsługiwać komputery Mac z procesorem PowerPC, (niestety) nie możesz użyć ORSSerialPort.


Jeśli chcesz tylko uruchomić to polecenie ze swojego kodu, możesz użyć system funkcjonować:

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

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

Będziesz musiał ustawić rozszerzenie kodu źródłowego Objective-C na .mm, co nakazuje Xcode skompilować go jako Objective-C ++.


1
2018-05-27 15:20





Jeśli chcesz trzymać się kakao - spójrz na NSTask.


1
2018-05-27 15:26



Tak, ale czy istnieje sposób, aby to zrobić BEZ uruchamiania poleceń systemowych? - objectiveccoder001