0

Macの仮想 COM ポート (Arduino RFID )を監視したい。端末から "screen /dev/tty.serialnumber" を実行すると、スワイプすると RFID のシリアル番号が出力されます。

NSTask を使用してXcodeから試すとすぐに、次の出力が得られます。

端末に接続する必要があります。

これが私のコードです:

NSTask *cd = [[NSTask alloc] init];

[cd setLaunchPath:@"/usr/bin/screen"];
[cd setArguments:[NSArray arrayWithObjects:@"-L",@"/dev/tty.usbserial-A800509K",nil]];

NSPipe *pipe;
pipe = [NSPipe pipe];
[cd setStandardOutput: pipe];
[cd setStandardInput:[NSPipe pipe]];

NSFileHandle *file;
file = [pipe fileHandleForReading];

[cd launch];

NSData *data;
data = [file readDataToEndOfFile];

NSString *string;
string = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];

NSLog (@"%@", string);

[cd waitUntilExit];
[cd release];
4

1 に答える 1

-1

基本ライブラリを使用するか、サードパーティの Obj-C ライブラリ (たとえば、 https://github.com/pbosetti/PBSerialPort )を使用して、COM ポートに直接アクセスする方がよいと思います。また、COM ポートを監視する場合は、シリアル ポートを読み取り、UI のテキスト領域を更新するスレッドを設定する必要があります。セカンダリ スレッドはメソッドを介して UI を更新する必要があることに注意してください- (void)performSelector:(SEL)aSelector onThread:(NSThread *)thr withObject:(id)arg waitUntilDone:(BOOL)wait

于 2011-09-27T10:47:16.680 に答える