摄像机串口操作
This page only Chinese language
| 版本/作者/日期 | 修改内容 |
|---|---|
| 1.0/Sandy/2015-09-24 | 初版 |
15.摄像机串口操作
条件:摄像机连接成功
语法:
1)函数
-(int)openSerial; //打开串口
-(int)closeSerial; //关闭串口
-(int)writeSerial:(unsigned char*)data length:(int)len; //写串口数据,串口必须打开了才能写数据
参数:(unsigned char*)data:数据内容
(int)len:data的长度
-(int)readSerial;//读串口数据,串口必须打开了才能读数据
2)消息通知:
FOUNDATION_EXPORT NSString* const IPCamera_Open_Serial_Result; //打开串口成功 FOUNDATION_EXPORT NSString* const IPCamera_Write_Serial_Result; //写数据成功 FOUNDATION_EXPORT NSString* const IPCamera_Serial_Data; //读 有数据返回
3) 设置成功后的消息回调
-(void)IPCamera_response_function:(NSNotification*)note;
IPCamera.h宏定义了两种注册消息的方法
#define ADD_IPCAMERA_RESPONSE_WITHOUT_ARG(notice_name) \
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(IPCamera_response_function:) name: notice_name object: nil]
#define ADD_IPCAMERA_RESPONSE_WITH_ARG(notice_name,camera_object) \
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(IPCamera_response_function:) name: notice_name object: camera_object]
示列:打开串口写数据
1)注册消息+打开串口
ADD_IPCAMERA_RESPONSE_WITH_ARG( IPCamera_Open_Serial_Result, cam_) ADD_IPCAMERA_RESPONSE_WITH_ARG( IPCamera_Write_Serial_Result, cam_) ADD_IPCAMERA_RESPONSE_WITH_ARG( IPCamera_Serial_Data, cam_) [cam_ openSerial ];
2)串口打开成功后开始读写数据
-(void)IPCamera_response_function:(NSNotification*)note
{
NSDictionary* dic = note.userInfo;
//串口打开成功后开始读写数据
if( [note.name isEqualToString: IPCamera_Open_Serial_Result ])
{
NSLog(@"串口已打开!");
unsigned char m_data = 0x01;
[cam_ writeSerial:m_data length: 1]; //写数据
[cam_ readSerial]; //读数据
}
//后开始写数据
if( [note.name isEqualToString: IPCamera_Write_Serial_Result ])
{
NSLog(@"写数据成功!");
}
if( [note.name isEqualToString: IPCamera_Serial_Data ])
{
NSLog(@"读数据成功!");
}
}
3)关闭串口
[cam_ closeSerial ];