我对iOS编码非常陌生,而且我一直在网上找到很少的应用示例。
我正在阅读“带有Arduino的iOS传感器应用程序”一书中的示例,我一直在使用适用于iPhone / iPad的Redpark串行电缆跟踪Adruino UNO板的串行通信示例
我有Redpark串行电缆及其演示应用程序,以及已注册的工作开发人员资料。我已经能够通过iPhone上的演示应用程序和计算机上的串口进行串行通信。
在使用本书中的示例时,我已将此行复制到iOS代码中:
bytesRead = [rscMgr read:rxBuffer length:numBytes];
但是,在使用其余代码进行编译时,会抛出一个描述为
的错误使用未声明的标识符“if”
我到处寻找“if”这个词并找不到它。我还查看了Redpark的示例代码,除了缓冲区名称之外,它们是相似的,如果不相同的话。
如果我提供了足够的详细信息,请告诉我,我会向社区提出任何建议,再次感谢您提供时间。
贝娄是更多的代码:
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
rscMgr = [[RscMgr alloc] init];
[rscMgr setDelegate:self];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)sendString:(id)sender {
[self.textEntry resignFirstResponder];
//Add code here
}
#pragma mark - RscMgrDelegate methods
- (void)cableConnected:(NSString *)protocol {
[rscMgr setBaud:9600];
[rscMgr open];
}
- (void)cableDisconnected {
}
- (void)portStatusChanged {
- (void) readBytesAvailable:(UInt32)numBytes {
int bytesRead;
// Read the data out
**bytesRead = [rscMgr read:rxBuffer length:numBytes];**
NSLog( @"Read %d bytes from serial cable.", bytesRead);
for(int i = 0;i < numBytes;++i) {
lf.serialView.text =
[NSString stringWithFormat:@"%@%c",
self.textView.text,
((char *)rxBuffer)[i]];
}
}
- (BOOL) rscMessageReceived:(UInt8 *)msg TotalLength:(int)len {
return FALSE;
}
- (void) didReceivePortConfig {
}
@end