我目前正在终端中运行以下命令以通过USB串行发送命令。Objective-C串行 - Mac OS X
/Users/drummerboyx/Library/Scripts/arduino-serial -b 9600 -p /dev/tty.usbserial-A800ev0Z -s 1
有没有办法在Objective-C中做到这一点?
我目前正在终端中运行以下命令以通过USB串行发送命令。Objective-C串行 - Mac OS X
/Users/drummerboyx/Library/Scripts/arduino-serial -b 9600 -p /dev/tty.usbserial-A800ev0Z -s 1
有没有办法在Objective-C中做到这一点?
一些谷歌福发现:
我知道它几乎什么都没有,但名称"IOKit"也听起来非常有前途...
如果你只是想从你的代码运行命令,你可以使用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++。
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];
感谢您的提示,这看起来像一个更清洁的图书馆! – 2012-11-21 19:23:47
你用'serialPortWithPath:'犯了一个错字,你说'serialPortWithWithPath:',你在方法名中添加了一个额外的内容。 – 2013-04-23 01:12:30
注意:如果你想支持基于PowerPC的Mac,你(不幸的是)不能使用ORSSerialPort。 – 2014-03-20 23:22:41
太棒了! AMSerialPort看起来很完美......谢谢。 – objectiveccoder001 2011-05-27 16:46:45