[云台]编写云台控制程序 耿磊 发表于 2006-7-31 11:01:42 |
编写云台控制程序 有些朋友很关心云台控制程序的编写。在这里我把我工程中根据Pelco协议编写的代码放在这里,供各位朋友参考。如有不同的见解请留言讨论。 编写云台控制程序的第一步要搞清楚所购买的云台的解码器的控制协议,如使用比较多的Pelco,YAAN协议等.协议的各个部分要认真分析.如果工程需要的只是部分的功能,如:上下左右控制.那只把协议相应的部分实现即可. 本文实现Pelco协议的功能,首先要下载Pelco协议.下载PELCO协议.rar.然后选择使用哪种编程工具,如c,vc,c#.针对不同的语言稍微改变就可以.同时也要考虑程序运行的平台,比如是在计算机上通过串口控制云台还是通过DSP的串口控制云台.因为在这两个平台上往串口发送消息的命令形式不同.下文分别叙述. 在VC#这个编程平台上,用C#语言实现pelco协议如下:Pelco_P_D.rar.建立好了协议的主体就可以建立一个控制窗口界面实现各种控制功能.比如我要建立上下左右的控制,那就建立4个控制按纽并分别实现对应的消息.下面是实现的控制云台向上运动的程序: private void up_Click(object sender, EventArgs e) { addressin = Byte.Parse((testBox_address.Text).ToString()); speedin = Byte.Parse((textBox_tilespeed.Text).ToString()); messagesend = pelco_d.CameraTilt(addressin, Pelco_D.D.Tilt.Up, speedin); try { //write line to serial port serialPort.Write(messagesend, 0, 7); sendstatus.Text = "UP"; //clear the text box // textBox.Text = ""; } catch (System.Exception ex) { baudRatelLabel.Text = ex.Message; } } 其他的各种功能参考上面的程序即可实现pelco协议的各种功能. 在比如要在DSP平台上实现控制云台的程序.比如针对合众达的DM642平台.除了要实现Pelc协议的主体之外(参考Pelco_P_D.rar.),要把DM642发消息给UART口的命令搞清楚即可.下面的程序是控制云台向上运动一小步: CameraTilt(1, Up, msg->speed,pelco_D_Data);//解析向上运动的命令 for(i=0;i<7;i++)SEEDDM642_UART_rset(SEEDuartHandleA, //发送SEEDDM642_UART_THR, (pelco_D_Data[i] & 0xff)); for(i=0;i<7;i++)SEEDDM642_UART_rset(SEEDuartHandleA, SEEDDM642_UART_THR, (pelco_D_Data[i] & 0xff)); CameraStop(1);//停止 以上就是在两种平台上控制云台运动的编程步骤.如有不同见解请讨论. | |
转自 DSP交流
其他文章:
.NET 与安全性—— 数据加密算法
在VC中使用 Flash 美化你的程序
C语言面试题大汇总
指定内存0X000000不能为只读的错误分析
调频电子琴的c源码
<script type="text/javascript"> google_ad_client = "pub-2416224910262877"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_channel = ""; google_color_border = "E1771E"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>