我目前正在终端中运行以下命令,通过USB串口发送命令。
/Users/drummerboyx/Library/Scripts/arduino-serial -b 9600 -p /dev/tty.usbserial-A800ev0Z -s 1
有没有办法在Objective-C中执行此操作?
答案 0 :(得分:21)
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];
答案 1 :(得分:8)
有些google-fu发现:
我对它几乎一无所知,但名字"IOKit"听起来也很有希望......
答案 2 :(得分:1)
如果您只想从代码中运行该命令,可以使用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 ++。
答案 3 :(得分:1)
如果你想坚持可可 - 请看NSTask。