基于vc_的多线程技术在串行通信中的应用47320

基于vc_的多线程技术在串行通信中的应用47320

ID:6607527

大小:30.00 KB

页数:6页

时间:2018-01-20

基于vc_的多线程技术在串行通信中的应用47320_第1页
基于vc_的多线程技术在串行通信中的应用47320_第2页
基于vc_的多线程技术在串行通信中的应用47320_第3页
基于vc_的多线程技术在串行通信中的应用47320_第4页
基于vc_的多线程技术在串行通信中的应用47320_第5页
资源描述:

《基于vc_的多线程技术在串行通信中的应用47320》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于VC_的多线程技术在串行通信中的应用47320博观而约取,厚积而薄发。茕茕孑立,形影相吊。知者不惑,仁者不忧,勇者不惧。千呼万唤始出来,犹抱琵琶半遮面。民为贵,社稷次之,君为轻。本文由zzp105贡献pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。学界气象、防雷、通信、通讯与电子基于VC++的多线程技术在串行通信中的应用胡晓晖摘1周卫星薛云要:介绍了BD30AV视音频延时器的主要功能以及VisualC++中的多线程技术,并采用控件Mscomm实现了BD30AV视音频延时器与PC之间串行通信。关键词:BD30

2、AV视音频延时器;串行通信;多线程;VisualC++1BD30AV视音频延时器BD30AV视音频延时器系列产品适用于各类电视台的播制作、现场传送和各级有线网络传输等部门,以及各级数字出、电视和数字卫星的网络运营商和服务提供商等。它被广泛应用于卫星转播及现场直播等场合,以确保播出信号的安全性、可稳定性。靠性、BD30AV视音频同步延时器是一个具有高品质、宽频带时基校正和帧同步功能的延时器,它的延时时间可由0到180秒逐帧步进调整(原厂标准配置延时时间为30秒)。可兼容全部的嵌入、数字和模拟视音频接口输入、(包括:输出数字嵌入式视音频信号、数字SD

3、I视频、模拟复合视频信号,及数字AES/EBU音频、模拟立体声平衡XLR音频信号的任意信号接口的)内置32比特全数字DSP芯片处理和10Bits高指输入/输出,标、宽频带时基校正和帧同步,内置高品质的视音频信号数/模、模/数互相转换功能,能进行优秀的自动增益控制AGC和CGC功能及高品质的颜色调整,也提供了标准的RS-232遥控协议接口,方便与外部控制系统或计算机相连。本文在VC++的平台上,通过RS232串行通信接口,实现了用微机来控制多个BD30AV,使其能实现对多个电视频道的控制。(BD30AV系统连接框图如图1所示)2BD30AV系统0x

4、02,送行相位数据。data0=[0,38]&[204,255]0x03,送SC相位数据。data0=[0,255]0x04,送锁相(GenLock信息。data0=0,1(0=Int;1=Auto))0x05,送AGC信息。data0=0,1(0=Off;1=On)0x06,送亮度延时数据。data0=[0,15]0x07,送对比度数据。data0=[0,228]0x08,送色度增益数据。data0=[0,228]0x09,送亮度增益数据。data0=[0,228]0x10,送视频模式(TV/VCR)信息。data0=0,1,2(0=TV;1=

5、VCR;2=Auto)0x11,送音频偏置数据。data0=[0,48]“重载默认值”信息。data0=’‘Y’Y’(=LoadDefult)0x12,送0x13,送Bypass信息。data0=0,1(1=Bypass,0=CancelBy-pass)0x14,送Spare信息。data0=0,1(1=Spare;0=CancelSpare)0x15,保留0x16,保留0x17,保留0x18,保留0x19保留数据内容:data0,data1,data2……..检验和:数据包长度信息+命令标志符](2字节)[格式:0xAA+数据包长度信息+命令标

6、志符+data0+data1+da-ta2+……..+检验和4VC++对于多线程的支持在很多工业控制系统中,常通过扩展串口连接多个外设,因各外设发送数据的重复频率不同,而且要求后台实时无差错捕捉、采集、处理、记录各端口数据,这就需要在自定义的串行通信类中创建端口监视线程,以便在指定的事件发生时向相关的窗口发送通知消息。在VC++6.0下,MFC应用程序的线程由CWinThread对象表示。Win32区分两种不同类型的线程,一种是用户界面线程UIUserInterfaceThread,它包含消息循环或消息泵,()用于处理接收到的消息;另一种是工作线

7、程(WorkThread,)它没有消息循环,用于执行后台任务。用于监视串口事件的线程即为工作线程。程序一般不需要直接创建CWinThread对象,通过调用AfxBeginThread()函数就会自动创建一个CWinThread对象,从而开始一个进程。创建上述的两种线程都利用AfxBeginThread()函数。线程的终止取决于下列事件之一:线程函数返回;线程调用ExitThread()退出;异常情况下用线程的句柄调用Termi-图1BD30AV系统连接框图3BD30AV通信协议数据头:0xAA数据包长度信息:LENGTH=n,(n>=6)命令标志

8、符:0x01,送延时数据。data0=[0,7];data1=[0,24]1本项目受广东省科技计划工业攻关项目资助,项目编号:2008B

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。