使用Redpark Serial cable SDK 开发软件连接iphone的研究

原创 2012年03月31日 15:21:02

1、Introduction简介

  • 这个SDK以及包里带的一个接口使用例子提供给:IOS程序开发者,并且需要了解Serial data communications

1.1、 Overview

  • 这个SDK包含一个objective-c类“RscMgr”  (Redpark serial cable Manager)这个类封装和抽象化了redpark serial cable protocol,使它变得简单和容易使用。
  • RscM类提供了一些接口方法去做: init , setBaud , open , read , write ... 还有style of interface to the serial port 串行端口的接口类型,要使用它要include "RscMar.h"和"libRscMgr.a" 到你的项目。
  • 前提:要熟悉编写cocoa程序给ios设备和知道objective-c delegate protocol interfaces work.
  • 下载的SDK镜片里面有一个IOS 例子"RSC Demo" 示范如何使用RscMgr类去和RSC serial port交互。 项目里面的“RootViewController.h”和“RootViewController.m” 就是一个例子如何使用RscMgr class

2、Notes for Developers
2.1、Using the Redpark Serial Cable Manager

  • 应该实例化一个RscMgr在程序里面然后调用init , 这个RscMgr会向ios设备注册一个通知检测是否有配件连接或者断开。如果是ios4.2系统设备断开和连接的通知也被检测到当程序进入后台或者打开。这个同样应该处理RSC serial port的硬件连接和断开连接,如果附加配件匹配了协议支持 initWithProtocol ,那么RscMgr就会调用cableConnected callback。
  • RscMgr类需要另外一个objective-c object去制定为它的delegate 去响应多种与cable相关的事件(例如:cableConnected, cableDisconnected, readBytesAvailable.......)习惯上哪个类用来实例化RscMgr就让这个类做这个RscMgr的委托类。可以参考viewDidLoad在RootViewController.m 是一个例子用来初始化这些process
  • 一旦连接成功,程序可以打开一个连接到serial port和开始数据交互,任何时间,程序可以改变port configuration,调用有"set"前置的方法,例如:setBaud, setDataSize, setParity, setStopBits.
  • A new key needs to be added to the application plist " Supported external accessory protocols", with Item 0's value being "com.redpark.hobdb9" .
  • 程序必须调用open在调用write或者read.  委托的物体会接收到readBytesAvailable 回调当serial data 已经到达时候。 这个委托类需要调用read 在这个回调方法里面获取有效的数据避免超时读取。看看readBytesAvailable:function in RootViewController.m.  这个RscMgr类会缓存1024bytes数据在下一次数据到达前。
  • 这个委托类同时接受port status更新在portStatusChanged callback回调方法内。程序也许希望去搜索modem signal states可以使用getModemStatus 访问器。如果流量控制使用,那么程序需要调用 getPortStatus和query the specific bits in the serialPortStatus structure.(在redparkSerial.h内)

Advanced Options:高级选项
  • 在基础的serial port configuration options(setBaud, setDataSize....etc...) 一个开发者也许需要某些额外的需求而直接使用serialPortConfig和serialPortControl structures (在redparkSerial.h)。然而开发者应该谨慎开启这些“advanced” 特殊属性除非他们了解他们的设备需要这些。
  • 还有一些关于TX/RX的....暂时不翻译了。


Run Loop:
  • 要记住一点:the RscMar 输入和输出流需要在程序的Runloop里面。因此,任何writes or reads都是异步的,并且有可能没有被处理知道你的程序回到RunLoop. 这个程序仅有的一个问题是需要精确地传送和准时的接收。正如前面有提及的:程序需要使用readBytesAvailable delegate 委托方法去检测是否数据已经到达才马上读取。

相关文章推荐

iPhone 设备目录结构

一:iOS沙盒知识出于安全考虑,iOS系统把每个应用以及数据都放到一个沙盒(sandbox)里面,应用只能访问自己沙盒目录里面的文件、网络资源等(也有例外,比如系统通讯录、照相机、照片等能在用户授权的...

linxu find 命令 搜索字符串

6、从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行 find / -type f -name "*.log" | xargs grep "password"...
  • zj0910
  • zj0910
  • 2014年06月19日 23:07
  • 6440

Linux 日常使用和开发软件【记录专用贴】

本人刚使用 Linux 系统不到半年,所以有很多软件没用过,在网上看到相关的帖子,现特记录。正在整理中。。。 下面给出一些推荐使用的可以处理一般事情的程序。至于你的专业上要用到的科学和工程软件...
  • dscyw
  • dscyw
  • 2013年09月29日 16:06
  • 981

Xcode-苹果开发软件熟练使用之代码块

写在前面: Xocde8.0之后,苹果屏蔽了8.0以前可以使用的一款注释插件。原想找到那个插件重新安装继续使用,突然又让我想起了Xcode自带的“代码块”。 犹记得当初第一次接触iOS开发的...

Android 使用网页开发软件界面

在项目的assets目录放入index.html文件 Insert title here A { COLOR: #FFFFFF; TEXT-DECORATION: none ...

android使用html开发软件界面

转载网址:

FPGA设计开发软件ISE使用技巧之:片上逻辑分析仪(ChipScope Pro)使用技巧

URL: http://www.icbuy.com/info/news_show/info_id/182769.html 6.7  片上逻辑分析仪(ChipScope Pro)使用技巧 ...

关于eclipse环境开发软件的使用

eclips(集成开发环境)的使用 Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse ...

android使用html开发软件界面

使用html开发软件界面 因为android软件开发分工目前还没有细化,程序员往往需要负责软件界面的开发, 虽然软件的界面图片已经由美工设计好了,但如果使用layout技术把软件做成如图片所示的界...

android使用html开发软件界面

使用html开发软件界面 因为android软件开发分工目前还没有细化,程序员往往需要负责软件界面的开发, 虽然软件的界面图片已经由美工设计好了,但如果使用layout技术把软件做成如图片所示的界...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Redpark Serial cable SDK 开发软件连接iphone的研究
举报原因:
原因补充:

(最多只允许输入30个字)