编程 《串口通信》.pdf

所需积分/C币:50 2012-06-21 09:46:15 20.67MB PDF
95
收藏 收藏
举报

编程 串口通信 pdf c++编程
726TAP属性配置 s;195 727TAP呼叫控制…………;,………””…”r………”…”…198 73利用TA拔打电话编程高级实例 202 73.1建立工程项目…… 732代码分析…………“…………203 第8章配As高级编程…………………………………………………234 8RAs客户机…… 234 82建立拨号连接 235 33RAS简单拨号程序… 239 84RAS重妥函数…………………,,…………,…………,…*………-………240 84l连接函数 84.2连接管理函数……………………………,………………245 843电诺簿和用户凭证管理…4 844拨号方式 q鲁中ψ幽曾甲中P1·幽1曾ψP甲曾噜會曾■中导看甲中唱曾曾曾中亨普自◆擘ψ费◆驴P會曾會鲁會曾會鲁■中中q■φ鲁 249 85RAS高级程序开发实例… …ss…sss………251 851建立工程项目……………,…”**……灬……………………251 852程序运行结果图…”"”251 85.3关键代码分析 ·合4·b吾4·用白·命命命·当4+·自白 8.54RAS编程小结 86RAS应用实例远程文件共享 …t∴292 第9章传真机的串口编程……… s…………1297 91传真机的串囗編程的基础知识……………………………298 911T3传真通信协议 中鲁 ……………298 9.L,2HDC信包…………… 299 93传真字段… ↓■↓↓↓↓↓壘晶↓●↓↓↓鼎【↓昌山L↓晶L←↓↓备b 9.L4成串信息包………………… ●·噜·ψ自●咖●@血通跏唱■跏●申罩·●鲁息喜·●●■喜看咖幽看● 301 915同步线路控制 早早日昌}晕早+香 91.6传真的5个阶段介绍… …303 92EIA传真调制解调器 305 921EA传真调制解调器 3 9.2.2 ElA 578(Class 1) 血=·血白如·平血·L.▲早=+L.▲ 307 93传真过程的实例描述 …………………s…311 931单页传奥……… …311 932轮询方式单页传真………………………………………311 33G3训练期降低速度…………………………116 34在G3训期间提高速度1…… P中中即會鲁4自鲁 318 935规格相同的多页传真………………………………………………318 93.6不规格的多萸传真… 3l9 3 冒·m···D“■ 94 DIS/DCS位映像 P·●·●●咖●中包咖 320 941向后兼容性和可扩展性… ……322 942新的HE…………*……”…………"”………*……”…………………*…,323 943最小性能集合 ·中·甲4·4···即·即4·即4·→·◆ 323 944DS/DC$信息包的逐位解释 …………………3 95T4传真图像协议 甲司章唱聊卩●1一·章●1即●『鲁鲁@旷即自●章 327 951分辩率 平即?P■早早■q!最會 …………327 952文件尺寸… ↓·如【■晋白 32 96传真编码… 33 96.1一维編码(政进型哈夫曼编码〕 333 92二维編码〔READ编码 rs;r…337 9.63编码方式综述 叩■ψ·山b一山bvd·山甲·甲聊h■甲 339 964行终码 339 9.65页鎘冯 晋■■■■▲凸凸口L画山d “··画“占 34l 966差错 亠●申喜↓者中各—罚鲁·备音号鲁·备喜辛昏 342 第1章串口通信的工业应用…………………………………344 10.1串通信在远程监控中的应用 44 10.1.1背亲介绍 …944 10.12远程监控系純结构 344 1013程序实现… rr…………………345 10.2串口通信在自动控制中的应用…………………947 10.21射频卡读写模块简介… ……………247 1022程序实现 350 第1章串口邇信基础知识 第1章串口通信基础知识 计算机串口通信技术在实际中应用广泛,但是因为其内容十分复杂,往往让读者感觉到 无从下手,在介绍高级的串冒编程技术之前介绍一下串口通信的基础知识,将有助于读者对 以后章节更加深入理解。本章介绍有关数据通信的基本概念和串口有关的硬针知识,这些内 容对于开发串口通信程序是很有用的。 1.1数据通信的基础知识 111数据终端设备与数据通信设备 终端与计算机之间的通信或计算机与计算机之间的通信,通常称为数据通信。数据通信 技术综合了计算机技术和通信技术,一个数据通信系统的基本构成如图1-1所示 烧口 计算机系统 据 败喝![通信 信 信 出 控港恶 备 控 处理舞 设各 设子 DEE 歙据电高 败据路 图1-1数据通信系统的基本构成 数据通信发送方为信源,接收方为信宿。连接信源和信宿的通道称为通信通道(简称信 道)或称通信线路,它可以是电缆、电话线等 数据通信与电话通信不同,由于在通信过程中没有人的直接参与,因而必须通过避守相 冋的传输规程才可以使通信双方协调、可靠地工作。数据电路加上传输控制规程就称为数据 链路 在数据通信系统中,用于接收和发送数据的设备称为数据终端设备DTE( Data Terminal Equipment)。DTE既可以是一台训算机,也可以是-台只接收数据的打印机。用来连接DT RS-232和调制解调器高级通信編程 与数据通信网络的设备称为数据通信设备DCE( Data Communications Equipment)或称数据 电路终接设备DCE可以是—一个调制解调器(Mdem),也可以是一个简单的线路驱动器 目前最广泛使用的数据传输信道就是模拟电话线路。计算机所能处理的数字信号不能直 接进入这样的信道,而必须通过一个中间设备 modem, Modem是最重要的CE设备之 用它来实现数字信号到模拟信号、模拟信号到数字信号的相互转换 1.1.2宇符传输 为了掌握数据传输的知识,首先必须清楚数据在计算机中是如何存储的。即数据在计算 机中的存放格式。 1.位和守节 在十进制计数制中有10个数码0~9,在二进制计数制中只有两个数字0、1。二进制计数 制中的每一位0和1,被叫做一个位。每8个位构成一个字节,因此一个字节值的范圉从 0000000111,就是十进制的0-255。 在一个字节中最右由的位被称为位0位,最左面的位被称为位7位。位0位是最低有效 位,而位7位是最高有效位。 2.文本編码 差不多所有的计算机都工作在二进制方式下,因为进制的代码0和1易用正电压或负 电压表示。在大多数计算机中,存储器存储的最小单位是字节,信息在计算机中进行存储和 操作,都要转换成字节序列。 当文本(字母字符、标点符号等)在计算机中存储时,每个不同的字符都用不局的数值 来表示。这些数值的范围通常为0127或者为0255。由于一个字节能表示一个0~255之间 的确定的值,因此在文本数据中每一个字母或标点符号都自然地分配了一个字节的空间来存 猪。 般计算机上使用的都是ASC码,它利用数值32~126代表数字、字母、柝点符号和 其他通用字符(数值0~1以及127都有特殊含义)。因为ASCm码在让算机里只使用了一个 字节的7个位,一共有127种数值组合,所以在计算机里所有字符部是用0~127之间的数值 来表示的,另外每个字节里留了一个备用位 很多计算机的字母掮码使用了字节中的全部8个位,这样共给出了256种不同的组合。 其中前128个遵循ASCⅡ規则,其余的128个用来做扩展字符、数字符号、图形字符等编码。 但是,这些扩屦的字符目前还没有统一的标准(例如中文编码),在不同的计算机中有不同的 含义 非文本编码 当然,并不是所有的信息都以文本形式在计算机中存储,某些可执行指令文件和图形图 像文件就是以二进制形式而不是ASCI码形式存储的。这些数据通常是使用一个字节所具有 的256种可能组合来绱码的。一个数值可用二进制形式存储,可以占多个字节。在通信领域, 常常把这种类型的资料叫做二进制数据。 因为非文本数据可以使用一个字节的任何位组合值,所以非文本数据中的某些值可能与 ASCI编码表中有特殊意义的码值是一致的。例如在传输数据的过程中,接收设备正好接收 到一个非文本字节数据,而将其解释为倍息结束的码值,那可能会引起混乱,在这种情况下 第1章辛口通信簦础知识 这种数据不能以它们的原型传送。 当然,针对这个问题,成熟的协议已被设计出来了,它们将在后面的章节中进行讨论。 4.并行传送和事行传送 并行传送意味着当数据〔例如一个字节)从一台计算机传送到另外一台计算机时,不是 依次一个比特位一个比特位地传送,而是用并行方式沿多线同时传送多个位,传送的并行的 位数可能是不同的,但一般是8位或8位的倍数 申行传送是指数据被依次一付一位地传送,因此通信接口必须能够分别将所有位依次一 个一个地发送,世应能够将数据一位一位地接收下来 5.同步和异步通信 将数据转换成串行通信有两种方式:同步方式或异步方式 在申日通信中,异步通信方式以字符为传送单位,传送的字符之间有无规律的间隔,这 样可能使接收设备不能正确接收数据,因为每接收完一个字符之后都不能确切地知道下一个 将被接收的宇符将从何时开始。这就需要在每个字符的头、尾各附加一个比特位,用来指示 个字符的开始和结束。这些额外的位被称为开始比特位和停止比特位,有时也经常加上 个称为奇校验的管误校验位 当被发送字符以块为单位时,则它们能被有规则的分割开来。它不再需要在每个字符的 首尾附加开始和停止比特位,因为一旦收钊首字符时,接收设备能确切地预讨接收后续字符 的位置、也就是说,接收设备能自动与发送计算机同步。这种通信方法被叫做步通信。 因为异步通信需要在每个字符的首尾附加开始和停止比特位,和同步通信相比,异步通 信每传送一个文件要多花费时间 6.帧 在串行异步通信情况下,构成一个字节的那些数据单元被称为数据位,在数据位的前 后要加上起始位、停止位和奇偶校验位。 个字符所使用的位数根据不同协议而不同。称这些位数为字符位数据长或字长。通常 不是8位就是7位。每发送一个字符,就发送一个组,这个组包括一个起始位、数据位、可 选的奇偶校验位、一个或更多个停止位。为了清莱起见,将构成每个字符及伴随的位作为一 帧。两个帧传输的例子如图1-2所示 起始位 快歌位 止位 筹妻 图12两个顿传输前示网 RS-232和调制解调器高缀通信编程 刁、起始位 起始位总是加在帧开始:为的是提醒接收设备接收数据,起到同步仵用,在接收数据位 过程中将被分离出去 起始位是一个 SPACE(或∵进制刂)。在直接连接情况下,一个 SPACE(或二进制4)被当作一个正电压传输,两帧之间是负电压,因此,在每一帧开始, 电压从正电压向负电压转变 8.数据位 串行通信标准,也叶串行通信协议、允许传输字符或字的长度不同。如果通信软件要求 选择字长度时,要么选择7位字符,要么选择8位宇符(有时也选择其他字长,但非常少见) 如果所有的数据都用ASCⅢ方式传输,7位宇符是最充分的。不要忘记ASCI码表只分配 0~127个数,所有这些字符能够用7位的字节来表示。 如果要传输非 ASCIL数据(假如使用扩展字符设置的文本或二进制数据),需要用到一 个字节的所有8位。除非将该数据转换成7倌形式,否则不能使用7位协议。 牧据位被传输时从一个字符的最低位数据开始最高位数据在最后例如字母C在ASCⅡ 表中是十进制的67,二进制的0100001,那么传输的将是110000(或者是7比特编码的 110001)。 9.奇偶校验位 奇偶校验是检验正在传输的数据是否被正确接收的一种方法。发送设备将根据数据位的 内容附加一个θ或1。接收设备检査此奇偶校验位是否还保持与其他位的正确关系。如果不 保持正确关系,那么在传输过程屮可能产生了错误。奇偶校验有如下几种方法 偶校验,意指数据位中1的个数加上奇偶校验位(1或0),使1的总数为偶数。例如 字母A的二进制是0100001,其中1的个数为2是偶效,则奇偶校验位应为0,使总的I的 数保持偶数。如果收到字母A的二进制序列中1的个数不是偶数个,那么就意味着在传输 中产生了错误。 奇校验,意指数据位中1的个数加E奇偶校验位,使其1的个数总数为奇数。例如宇母 A,为保持1的个数为奇数,则奇偶校骏位应为!.即1的总数为3,奇数 无狡验,是指没有奇绸校验位。…个奇偶校验位并不总是被使用的,甚至即使已经使用 奇偶校验位,校验接收设备也并不士检测奇偶校验位,这个完全依赖通信编程来控制。 SPACE校验,或零校验,有时称为位平衡〕有一个奇偶校验检验位,但它总是0。 SPACE 校验提供一些错误类型检验方法,如果严格筛选出的奇偶位在传输过程中变成1,这就提示 出了某类的错误 SPACE校验能用在要求传输8位字符的接收设备上发送使用7位宇符。接收致据将数据 字的最后一个比特位解释为奇偶校验位。如果所有的字符以标准的AS∏码形式发送,则第 8位永远不使用,所以在那个位置上的0就是无意义的 MARK校验的」作方法和 SPACE校验的方法相同,指示校验位总是1。为在那个位置 上的1可以被解释为一个附加校验位,设备或接收计算机必须依靠编程来忽视它。 10.停止位 在每个帧的末尾总要发送一个停止位。这个停止位可以是1位、15位或2位。最常用的 是1位,这就保证了在每一帧之后都是负电位,而下一帧可以通过开始位的正电位来识别 超过一位的停止位通常用于这样的场合:在处理下一个即将发送来的字符之前接收设备要求 4 第1幸串口逋信基础知识 附加时间 1个半位的停止位在时间上要比常规长许多,这样在两机之间停止位增加了间隔。它们 被当作二进制的1来传送,在直接连接的情况下,等于一个负电位。 2个停止位通常使用在110波特低速传输系统中,这是一个要求连续的老式的电报终端, 它使用低波特率并且要求额外字符处理时间 11.硬件中所( Break)信号 硬件中断信号是当一种特殊的帧出错(一般是通信线路自身的故险〕时,接收方发送的 个信号;硬件屮断信号可以用于系统的复位、振铃或者中断一个进程,该信号提示系统忽 略通信线上传过来的代码数据它是一种主要的通信信号,而不仅是一种故障标记 标准情况下,数据线在传输时通常处在正电压状态,数据线上任何一个 SPACE状态都 要比一个字符和它的帧传递持续更长的时间。最长 SPACE状态应当为1158,即66.57ms; 因而可以使用一个持续较长的时间间隔(遇常是100到600ms)的状态信号用来作为硬件中 断〔 Break〉信号。 硬件中断信号也可以用在主机上,等效与PC机中的“Curl+C"。它可以中断正在运行 的程序并使用户回到操作系统或者进入程序某段的上一级中去,硬件中断(Brak)信号和 “clC”一样,常用来从正在运行的死循环程序中退出来。 12.波特率 波特率是每秒传送的离散信号数,它是刑法国通信学科开创者波特的名字命名的。对于 进制通信来说,就是指每秒传输的二进制位数,波特和位有很大的区别,但是常常被弃错。 在两个RS-232直接连接时,一个信号在任何时间里只使用两种状态的一种,所以这时 的波特率和位率是相同的概念。无论如何,当一个信号在两个调制解调器之间直接传送时 可以用多个状态中的一个。信号的长度可以是16008600波特),但是由于一个被传送的状 态可能携带超过2位信息,则位率将比波特率高。要注意无论是波特率还是涉及到在一个信 号帧内传送信息的位速率,因为字符是使用不同速度输入的,两帧之间的间隔是可以变化的 所以,所提到的无论波特率还是位速率都是指真正被传送的信息 13.故幛排除 当两个设备互相通信时,即使使用相同的速率、字长、停止位和奇偶校验位等,也一定 要对他们进行设置。如果接收设备什么也没有收到,那有可能是物理连接的错误(数据线断 了或者接错了)。如没有正确接收到握手信号,错误可能由下面一些原因引起的。 (1)波特率失配 如果两个设备的波特率设置不同,当接收设备试图接收数据时,程序将报告校验错和帧 错。接收字符数和发送字符数不相符是判断此类错误的最简单的方法。 2)校验错误 个奇偶错误,严格地说是指数据在传输中被破坏,至少可以说明设备在奇偶校验位类 型设置个同或者字长不同 (3)字长不匹配 如果发送的是8位字长,接收采用7位字长,这个区别在文本传输时可能不会引起注意 因为前7位在任何情况下都是有效的这主要是因为位0位首先被发送,而位7位在以 ASCII 码形式的传输中本来就忽略不用、所以就显得不那么重要。但接收设备试图将附位作为校 5 RS-232和调恻解调器高缓遜信搞程 验位来解释,并且要报告一个错误。所以发生一个校验错,如果不是数据在传输过程中被破 坏了,就是指示字长不匹配。 如果发送的是7位字长,而希望核收的是8位字长,那么可能校验位被处坪成缺少的第 8个位。通常奇偶校验位不是1,就是自,这时将发现接收设备显示的是扩展编码字符。 (4)停止位错 如果接收端要求一个停止位,而发送端发送了两个停止位,这可能不会有什么问题。这 个多余附加位,可能会被简单地合并成两个字符之间允许的分割字符。但如果要求两个停止 位,而只发送一个停止位,这可能会出现问题,这是由接收设备决定的。如果使用调制解调 器,这可能不被认为是个问题。 5)帧错 个帧的错误,是指位数不匹配。这个类型的错误,通常是在没有接收到要求的停止位 时出现 1.13握乎和缰冲存储 握于信号提供了一种控制数据流的方法,即接收设备可以控制发送设备的数据发送。有 的打印杋打印速度可能跟不上从讦算机邶里接收数据的速度,这时打印杋必须使用握手信号 去通知计算机暂停发送。握手信号也用在打印机没有打印纸和一台计算机向另一台计算机发 送数据而另一台计算机的字符处理速度赶不上发送速度的时候。 当接收设备字符处理速度比字符发送速度快时,握手信号可以忽略。 1、硬件握手 图1-3显示了一个使用硬件握手的计算机向打印机传送数据的典型流程图。 斯 位所针 计 时标记 bSR高5 是文结 毫玄袋 图1-3发送设备的硬件据手流和图 6

...展开详情
试读 127P 编程 《串口通信》.pdf
立即下载 身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • GitHub

  • 签到新秀

  • 至尊王者

关注 私信
上传资源赚钱or赚积分
最新推荐
编程 《串口通信》.pdf 50积分/C币 立即下载
1/127
编程 《串口通信》.pdf第1页
编程 《串口通信》.pdf第2页
编程 《串口通信》.pdf第3页
编程 《串口通信》.pdf第4页
编程 《串口通信》.pdf第5页
编程 《串口通信》.pdf第6页
编程 《串口通信》.pdf第7页
编程 《串口通信》.pdf第8页
编程 《串口通信》.pdf第9页
编程 《串口通信》.pdf第10页
编程 《串口通信》.pdf第11页
编程 《串口通信》.pdf第12页
编程 《串口通信》.pdf第13页
编程 《串口通信》.pdf第14页
编程 《串口通信》.pdf第15页
编程 《串口通信》.pdf第16页
编程 《串口通信》.pdf第17页
编程 《串口通信》.pdf第18页
编程 《串口通信》.pdf第19页
编程 《串口通信》.pdf第20页

试读结束, 可继续阅读

50积分/C币 立即下载