我目前正在終端中運行以下命令以通過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