我有一个用于电机控制的多视图(控制器)应用程序。
主页选择功能(哪些电机)然后转到另一个页面(视图控制器)以移动那些相关的电机(加范围,减范围并在每个视图控制器上停止加上紧急停止)。
将 redpark 串行电缆用于初始版本(稍后会介绍)。我让主视图控制器发送串行数据,但无法让其他视图控制器发送数据。
最好的方法是什么?
我已经尝试让每个视图控制器成为 redparks rscMgr 的代表,但它不起作用(除非我正在做一些非常愚蠢的事情,这是可能的)
例如
inviewcontrollerx.h
#import "RscMgr.h"
#define BUFFER_LEN 1024
@interface FBInfoViewController : UIViewController <RscMgrDelegate> {
RscMgr *rscMgr;
UInt8 rxBuffer[BUFFER_LEN];
UInt8 txBuffer[BUFFER_LEN];
BOOL cableConnected;
}
@property (nonatomic, strong) RscMgr *rscMgr;
@end
them in each one viewcontrollerx.m
- (void) viewDidLoad{
[super viewDidLoad];
rscMgr = [[RscMgr alloc] init];
[rscMgr ssetDelegate:self];
//etc
}
- (BOOL) sendMessage:(NSString *)Tmessage {
NSLog(@"sendMSG: ");
NSLog(@"String: %@", Tmessage);
int bytesToWrite = Tmessage.length;
for (int i =0;i < bytesToWrite; i++ ) {
self->txBuffer[i] = (int)[Tmessage characterAtIndex:i];
}
NSLog(@"BYTES WRITTEN = %d", Tmessage.length);
NSLog(@"Msg = %@", Tmessage);
int bytesWritten = [self->rscMgr write:txBuffer length:bytesToWrite];
NSLog(@"Wrote %d bytes to serial cable.", bytesWritten);
if (bytesWritten == bytesToWrite)
{
return TRUE;
}
else
{
return FALSE;
}
}
then send a message by
[self sendMSG : @"<VC20c203l,888c99>\n\r"];
只有主(初始视图控制器)发送串行数据。我需要单独的“页面”,以便用户一次调整一个设置/位置。