由云台协议DLL浅谈插件程序的编写(下)【原创】
1.创建项目,“Visual C++项目”--->“Win32”--->“Win32 项目”--->“DLL”,选中“导出符号”,(VS2003平台),按源码目录组织规范设置项目,参考我的blog 2004.12其中文章。
2.添加链接库导出定义文件:****.def,加入到项目中。
; ptzPelco-D.def : 声明 DLL 的模块参数。
LIBRARY "ptzPelco-D"
EXPORTS
; 此处可以是显式导出
CreatePTZInstance PRIVATE
ProtocolNames DATA
; 此处可以是显式导出
CreatePTZInstance PRIVATE
ProtocolNames DATA
说明:上面分别是导出变量和导出函数。
3.把工程默认的导出变量和导出函数删除,默认导出的类也删除(头文件可删空)。
4.在DllMain所在的cpp文件添加定义:
const char * ProtocolNames[] =
const char * ProtocolNames[] =
{
"PELCO-D",
"PELCO-P",
0 // 必须以0表示结束
};
CPTZInterface * __stdcall CreatePTZInstance(const char * pszProtocolsName)
{
if (0 == strcmp(pszProtocolsName, ProtocolNames[0]))
{
return new CPelco_D; // 看下面的定义!
}
if (0 == strcmp(pszProtocolsName, ProtocolNames[1]))
{
return new CPelco_P; // 看下面的定义!
}
return 0;
}
5.从接口派生出一个类,定义如下:
"PELCO-D",
"PELCO-P",
0 // 必须以0表示结束
};
CPTZInterface * __stdcall CreatePTZInstance(const char * pszProtocolsName)
{
if (0 == strcmp(pszProtocolsName, ProtocolNames[0]))
{
return new CPelco_D; // 看下面的定义!
}
if (0 == strcmp(pszProtocolsName, ProtocolNames[1]))
{
return new CPelco_P; // 看下面的定义!
}
return 0;
}
5.从接口派生出一个类,定义如下:
class CPelco_P: public CPTZInterface { …… }
注意上面的CreatePTZInstance函数,这样就达到了创建这个协议对象的目的了。
注意上面的CreatePTZInstance函数,这样就达到了创建这个协议对象的目的了。
6.说明:创建的对象用该类的Destroy()销毁,由使用者调用。
相关推荐
云台控制程序,可以兼容各种协议,同时可以控制镜头各种参数,方便调试,其中主程序用vc++编写。
三星SCC-641云台协议三星SCC-641云台协议
中文版派尔高D控制协议,用于云台摄像机,会议摄像机控制,要求硬件支持。
收集了各种云台协议的命令,对监控行业的人很有作用
网上搜索到的 PelcoD 命令,基本为简单的云台基础版本,只包含云台,Zoom 以及预置位调用设置等简单功能。 此为官方 PelcoD 云台控制协议(完整版),包含查询 Zoom 位置等其他扩展命令
VC 串口 并口 云台控制 很好的资源 有利于学习 能运行
云台协议控制软件 可用电脑或笔记本 测试云台
云台控制方式包括连动和点动;监控中心客户端将云台控制按钮按下时间与阈值进行比较,根据比较的结果发送连动或点动的云台控制方式的命令给云台
改文档主要针对工作当中的问题,总结了各个协议的流程,和各个协议的使用字节所对应的关系,并使用伪代码来抽象了各个协议
基于VC++开发的监控摄像头的visual C++的源程序代码
中文PELCO-d 和 PELCO-p协议介绍
开源云台控制代码,包含mpu6050解算,pid解算程序
云台控制程序,八个方向控制云台,然后调节焦距,变倍,光圈,可以设置预置位。支持协议包括PELCO_D 和PELCO_D
派乐高 (pelco-d )的云台 协议,英文版
万能云台测试程序,支持大部分解码器协议,支持16路地址控制
球机云台控制协议,包含P-P,和P-D协议。
多协议云台控制软件
VISCA协议云台与镜头控制指令,VISCA协议云台与镜头控制指令
python使用serial模块,通过串口控制云台(基于PELCO-D协议)(csdn)————程序
利凌的云台协议,由于是英文版,有需要的朋友可以慢慢研究一下~