【发布时间】:2013-02-09 00:08:18
【问题描述】:
我正在使用 Redpark Serial SDK 1.4 r270 来帮助 iphone 的 i/o 功能。我目前遇到的问题之一是读取使用
给出的数据- (void) readBytesAvailable:(UInt32)numBytes {
这是我的错误。
Feb 8 15:27:50 iapd[897] <Warning>: ERROR - /SourceCache/iapd/iapd-1065.23/iapd/IAPSession.mm:-[IAPSessionBasic _sessionBufferToAppHasSpaceAvailable] - 823 session=0x1 for connectionID=0x1e12ea00 failed to write bytes, errno = 32
Feb 8 15:27:50 iOS[7428] <Warning>: ERROR - /SourceCache/ExternalAccessory/ExternalAccessory-213/EASession.m:-[EASession dealloc] - 137 unable to close session for _accessory=0x20047eb0 and sessionID=65536
Feb 8 15:27:50 iOS[7428] <Warning>: ERROR - /SourceCache/ExternalAccessory/ExternalAccessory-213/EAOutputStream.m:-[EAOutputStream write:maxLength:] - 212 failed to write 229 bytes (wrote -1) with error 9
Feb 8 15:27:50 iOS[7428] <Warning>: ERROR - /SourceCache/ExternalAccessory/ExternalAccessory-213/EAInputStream.m:-[EAInputStream _readInputFromAccThread] - 357 error waiting for read data, errno = 9
这完全适用于单视图应用程序。
假设有一个 UINavigationController 具有视图 A 和视图 B,其中 A => B 当单击按钮时。视图 B 正在使用 RscMgr 线程,其中所有的魔法都恰好从串行端口读取。 在视图 B 的 UINavigationController 的第一个实例中,如果我们停留在此视图上,它可以正常工作。我们可以断开连接,连接端口,然后继续传输数据。
但是,如果我返回查看 A,然后返回查看 B。一切都将陷入困境。我无法再从此函数中读取数据,并且在控制台中发现 (MULTIPLE) 错误。有没有人有充分的理由说明为什么会发生这种情况以及我们如何解决它?我知道我们已经将 UIViewController 从堆栈中弹出,一切都重置了,并且再次创建了 RscMgr 线程,但没有查看任何内容。我不确定如何使用 SDK 清除缓冲区,因为它没有提供。
【问题讨论】:
标签: ios objective-c serial-port external-accessory