RS-232详细

news/2024/5/18 23:40:30 标签: 终端, terminal, signal, 通讯, c, ibm
cle class="baidu_pl">
cle_content" class="article_content clearfix">
content_views" class="htmledit_views">

个人计算机上的class="tags" href="/tags/TongXun.html" title=通讯>通讯接口之一࿰c;由电子工业协会(Electronic Industries Association࿰c;EIA) 所制定的异步传输标准接口。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现࿰c;一般个人计算机上会有两组 RS-232 接口࿰c;分别称为 COM1 和 COM2。

RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行color: #136ec2;">物理接口标准。RS是color: #136ec2;">英文“推荐标准”的缩写࿰c;232为标识号࿰c;C表示修改次数。color: #136ec2;">RS-232-C总线标准设有25条信号线࿰c;包括一个主通道和一个辅助通道。

  在多数情况下主要使用主通道࿰c;对于一般双工通信࿰c;仅需几条信号线就可实现࿰c;如一条发送线、一条接收线及一条地线。

  RS-232-C标准规定的color: #136ec2;">数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200color: #136ec2;">波特

  RS-232-C标准规定࿰c;驱动器允许有2500pF的电容负载࿰c;通信距离将受此电容限制࿰c;例如࿰c;采用150pF/m的通信电缆时࿰c;最大通信距离为15m;若每米电缆的电容量减小࿰c;通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送࿰c;存在共地噪声和不能抑制共模干扰等问题࿰c;因此一般用于20m以内的通信。

class="headline-content">EIA RS-232C 接口标准

class="headline-content">EIA color: #136ec2;">RS-232C 是由美国电子工业协会 EIA(Electronic Industry Association)在1969年颁布的一种串行color: #136ec2;">物理接口标准。RS(Recommended Standard)是英文“推荐标准”的缩写࿰c;232为标识号࿰c;C表示修改次数。RS-232C 总线标准设有25条信号线࿰c;包括一个主通道和一个辅助通道。

  在多数情况下主要使用主通道࿰c;对于一般双工通信࿰c;仅需几条信号线就可实现࿰c;如一条发送线、一条接收线及一条地线。

  RS-232C 标准规定的数据传输速率为每秒150、300、600、1200、2400、4800、9600、19200波特。

  RS-232C 标准规定࿰c;驱动器允许有2500pF的电容负载࿰c;通信距离将受此电容限制࿰c;例如࿰c;采用150pF/m的通信电缆时࿰c;最大通信距离为15m;若每米电缆的电容量减小࿰c;通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送࿰c;存在共地噪声和不能抑制共模干扰等问题࿰c;因此一般用于20m以内的通信。

  color: #136ec2;">串行通信接口标准经过使用和发展࿰c;目前已经有几种。但都是在RS-232标准的基础上经过改进而形成的。所以࿰c;以RS-232C为主来讨论。RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在0~20000b/s范围内的通信。这个标准对串行color: #136ec2;">通信接口的有关问题࿰c;如信号线功能、电器特性都作了明确规定。由于通行设备厂color: #136ec2;">商都生产与RS-232C制式兼容的通信设备࿰c;因此࿰c;它作为一种标准࿰c;目前已在微机通信接口中广泛采用。

  在讨论RS-232C接口标准的内容之前࿰c;先说明两点:

class="headline-2 bk-sidecatalog-title">class="headline-content">远程通信连接数据class="tags" href="/tags/ZhongDuan.html" title=终端>终端

  首先࿰c;RS-232-C标准最初是远程通信连接color: #136ec2;">数据class="tags" href="/tags/ZhongDuan.html" title=终端>终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。因此这个标准的制定࿰c;并未考虑color: #136ec2;">计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说࿰c;是color: #136ec2;">计算机接口)与class="tags" href="/tags/ZhongDuan.html" title=终端>终端或外设之间的近端连接标准。显然࿰c;这个标准的有些规定及和计算机系统是不一致的࿰c;甚至是相矛盾的。有了对这种背景的了解࿰c;我们对RS-232C标准与计算机不兼容的地方就不难理解了。

class="headline-2 bk-sidecatalog-title">class="headline-content">“发送”和“接收”

  其次࿰c;RS-232C标准中所提到的“发送”和“接收”࿰c;都是站在DTE立场上࿰c;而不是站在DCE的立场来color: #136ec2;">定义的。由于在计算机系统中࿰c;往往是CPU和color: #136ec2;">I/O设备之间传送信息࿰c;两者都是DTE࿰c;因此双方都能发送和接收。

class="headline-content">RS-232C 标准(协议)

class="headline-content">RS-232C 标准(协议)的全称是 EIA-RS-232C 标准࿰c;其中EIA (Electronic Industry Association)代表美国电子工业协会࿰c;RS(recommeded standard)代表推荐标准࿰c;232是标识号࿰c;C代表RS232的最新一次修改(1969)࿰c;在这之前࿰c;有RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有有EIA color: #136ec2;">RS-422A、EIA RS-423A、EIA color: #136ec2;">RS-485。 这里只介绍EIA RS-232C(简称232࿰c;RS232)。 例如࿰c;目前在IBM PC机上的COM1、COM2接口࿰c;就是RS-232C接口。

class="headline-2 bk-sidecatalog-title">class="headline-content">1.电气特性

  EIA-RS-232C 对电器特性、color: #136ec2;">逻辑电平和各种信号线功能都作了规定。

  在TxD和RxD上:

  逻辑1(MARK)=-3V~-15V

  逻辑0(SPACE)=+3~+15V

  在RTS、CTS、DSR、DTR和DCD等控制线上:

  信号有效(接通࿰c;ON状态࿰c;正电压)=+3V~+15V

  信号无效(断开࿰c;OFF状态࿰c;负电压)=-3V~-15V

  以上规定说明了RS-323C标准对逻辑电平的定义。对于数据(信息码):逻辑“1”(传号)的电平低于-3V࿰c;逻辑“0”(空号)的电平高于+3V;对于控制信号;接通状态(ON)即信号有效的电平高于+3V࿰c;断开状态(OFF)即信号无效的电平低于-3V࿰c;也就是当传输电平的color: #136ec2;">绝对值大于3V时࿰c;电路可以有效地检查出来࿰c;介于-3~+3V之间的电压无意义࿰c;低于-15V或高于+15V的电压也认为无意义࿰c;因此࿰c;实际工作时࿰c;应保证电平在±(3~15)V之间。

  EIA RS-232C 与TTL转换:EIA RS-232C 是用正负电压来表示逻辑状态࿰c;与TTL以高低电平表示逻辑状态的规定不同。因此࿰c;为了能够同计算机接口或class="tags" href="/tags/ZhongDuan.html" title=终端>终端的TTL器件连接࿰c;必须在EIA RS-232C 与TTL电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件࿰c;也可用集成电路color: #136ec2;">芯片。目前较为广泛地使用集成电路转换器件࿰c;如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换࿰c;而MC1489、SN75154可实现EIA电平到TTL电平的转换。MAX232芯片可完成TTL←→EIA双向电平转换。

class="headline-2 bk-sidecatalog-title">class="headline-content">2、连接器的机械特性:

  连接器:由于RS-232C并未定义连接器的物理特性࿰c;因此࿰c;出现了DB-25、DB-15和DB-9各种类型的连接器࿰c;其引脚的定义也各不相同。下面分别介绍两种连接器。

  (1)DB-25: PC和XT机采用DB-25型连接器。DB-25连接器定义了25根信号线࿰c;分为4组:

  ①异步通信的9个电压信号(含信号地SG)2࿰c;3࿰c;4࿰c;5࿰c;6࿰c;7࿰c;8࿰c;20࿰c;22

  ②color: #136ec2;">20mA电流环信号 9个(12࿰c;13࿰c;14࿰c;15࿰c;16࿰c;17࿰c;19,23࿰c;24)

  ③空6个(9࿰c;10࿰c;11࿰c;18࿰c;21࿰c;25)

  ④保护地(PE)1个࿰c;作为设备接地端(1脚)

  注意࿰c;20mA电流环信号仅IBM PC和color: #136ec2;">IBM PC/XT机提供࿰c;至AT机及以后࿰c;已不支持。

  (2)DB-9:

  在AT机及以后࿰c;不支持20mA电流环接口࿰c;使用DB-9连接器࿰c;作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。它只提供异步通信的9个信号。DB-25型连接器的引脚分配与DB-25型引脚信号完全不同。因此࿰c;若与配接DB-25型连接器的color: #136ec2;">DCE设备连接࿰c;必须使用专门的电缆线。

  电缆长度:在通信速率低于20kb/s时࿰c;RS-232C 所直接连接的最大物理距离为15m(50英尺)。

  最大直接传输距离说明:RS-232C标准规定࿰c;若不使用MODEM࿰c;在码元畸变小于4%的情况下࿰c;DTE和DCE之间最大传输距离为15m(50英尺)。可见这个最大的距离是在码元畸变小于4%的前提下给出的。为了保证码元畸变小于4%的要求࿰c;接口标准在电气特性中规定࿰c;驱动器的负载电容应小于2500pF。

class="headline-2 bk-sidecatalog-title">class="headline-content">3、RS-232C 的接口信号:

  RS-232C 的功能特性定义了25芯标准连接器中的20根信号线࿰c;其中2条地线、4条数据线、11条控制线、3条定时信号线࿰c;剩下的5根线作备用或未定义。常用的只有10根࿰c;它们是:

  (1)联络控制信号线:

  数据发送准备好(Data set ready-DSR)——有效时(ON)状态࿰c;表明MODEM处于可以使用的状态。

  color: #136ec2;">数据class="tags" href="/tags/ZhongDuan.html" title=终端>终端准备好(Data class="tags" href="/tags/TERMINAL.html" title=terminal>terminal ready-DTR)——有效时(ON)状态࿰c;表明数据class="tags" href="/tags/ZhongDuan.html" title=终端>终端可以使用。

  这两个信号有时连到电源上࿰c;一上电就立即有效。这两个设备状态信号有效࿰c;只表示设备本身可用࿰c;并不说明通信链路可以开始进行通信了࿰c;能否开始进行通信要由下面的控制信号决定。

  请求发送(Request to send-RTS)——用来表示DTE请求DCE发送数据࿰c;即当class="tags" href="/tags/ZhongDuan.html" title=终端>终端要发送数据时࿰c;使该信号有效(ON状态)࿰c;向MODEM请求发送。它用来控制MODEM是否要进入发送状态。

  允许发送(Clear to send-CTS)——用来表示DCE准备好接收DTE发来的数据࿰c;是对请求发送信号RTS的响应信号。当MODEM已准备好接收class="tags" href="/tags/ZhongDuan.html" title=终端>终端传来的数据࿰c;并向前发送时࿰c;使该信号有效࿰c;通知class="tags" href="/tags/ZhongDuan.html" title=终端>终端开始沿发送数据线TxD发送数据。

  这对RTS/CTS请求应答联络信号是用于color: #136ec2;">半双工MODEM系统中发送方式和接收方式之间的切换。在全双工系统中࿰c;因配置双向通道࿰c;故不需要RTS/CTS联络信号࿰c;使其变高。

  接收线信号检出(Received Line detection-RLSD)——用来表示DCE已接通通信链路࿰c;告知DTE准备接收数据。当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时࿰c;使RLSD信号有效࿰c;通知class="tags" href="/tags/ZhongDuan.html" title=终端>终端准备接收࿰c;并且由MODEM将接收下来的载波信号解调成数字两数据后࿰c;沿接收数据线RxD送到class="tags" href="/tags/ZhongDuan.html" title=终端>终端。此线也叫做数据载波检出(Data Carrier dectection-DCD)线。

  振铃指示(Ringing-RI)——当MODEM收到交换台送来的振铃呼叫信号时࿰c;使该信号有效(ON状态)࿰c;通知class="tags" href="/tags/ZhongDuan.html" title=终端>终端࿰c;已被呼叫。

  (2)数据发送与接收线:

  发送数据(Transmitted data-TxD)——通过TxDclass="tags" href="/tags/ZhongDuan.html" title=终端>终端将串行数据发送到MODEM࿰c;(DTE→DCE)。

  接收数据(Received data-RxD)——通过RxD线class="tags" href="/tags/ZhongDuan.html" title=终端>终端接收从MODEM发来的串行数据࿰c;(DCE→DTE)。

  (3)地线 :  GND、Sig.GND——保护地和信号地࿰c;无方向。

  

  上述控制信号线何时有效࿰c;何时无效的顺序表示了接口信号的传送过程。例如࿰c;只有当DSR和DTR都处于有效(ON)状态时࿰c;才能在DTE和DCE之间进行传送操作。若DTE要发送数据࿰c;则预先将DTR线置成有效(ON)状态࿰c;等CTS线上收到有效(ON)状态的回答后࿰c;才能在TxD线上发送串行数据。这种顺序的规定对半双工的color: #136ec2;">通信线路特别有用࿰c;因为半双工的通信才能确定DCE已由接收方向改为发送方向࿰c;这时线路才能开始发送。

  2个数据信号:发送TXD;接收RXD。

  1个信号地线:SG。

  6个控制信号:

  DSR 数传发送准备好࿰c;Data Set Ready。

  DTR 数据class="tags" href="/tags/ZhongDuan.html" title=终端>终端准备好࿰c;Data Terminal Ready。

  RTS DTE请求DCE发送(Request To Send)。

  CTS DCE允许DTE发送(Clear To Send)࿰c;该信号是对RTS信号的回答。

  DCD 数据载波检测(Data Carrier Detection)࿰c;当本地DCE设备(Modem)收到对方的DCE设备送来的载波信号时࿰c;使DCD有效࿰c;通知DTE准备接收࿰c; 并且由DCE将接收到的载波信号解调为color: #136ec2;">数字信号c; 经RXD线送给DTE。

  RI 振铃信号(Ringing)࿰c;当DCE收到对方的DCE设备送来的振铃呼叫信号时࿰c;使该信号有效࿰c;通知DTE已被呼叫。

  由于color: #136ec2;">RS232接口标准出现较早࿰c;难免有不足之处࿰c;主要有以下四点:

  (1)接口的信号电平值较高࿰c;易损坏接口电路的芯片࿰c;又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。

  (2)传输速率较低࿰c;在异步传输时࿰c;波特率≤20Kbps。

  (3)接口使用一根信号线和一根信号返回线而构成共地的传输形式࿰c;这种共地传输容易产生共模干扰࿰c;所以抗噪声干扰性弱。

  (4)传输距离有限࿰c;最大传输距离标准值为50英尺(实际≤15米)。

class="headline-2 bk-sidecatalog-title">class="headline-content">4、RS-232的接线

  在工程当中经常会用到232口࿰c;一般是圆头8针与D型9针两种串口。在一定的条件下࿰c;必须要自己制作一个相应的"圆头或者是D型的"232串口。

  RS232C串口通信接线方法(三线制)

  首先࿰c;串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连࿰c;两个串口相连或一个串口和多个串口相连

  同一个串口的接收脚和发送脚直接用线相连对9针串口和25针串口࿰c;均是2与3直接相连;

  两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口)

  DB9-DB9

  2-3,3-2,5-5

  DB25-DB25

  2-3,3-2,7-7

  DB9-DB25

  2-3,3-2,5-7

  上面是对微机标准串行口而言的࿰c;还有许多非color: #136ec2;">标准设备c;如接收GPS数据或电子罗盘数据࿰c;只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连࿰c;彼此交叉࿰c;信号地对应相接。

  8针圆形串口接线:2"逻辑地"࿰c;4"TXD",7"RXD"。

  9针D型串口:2"RXD“࿰c;3”TXD“࿰c;5"逻辑地"。

class="headline-content">RS-232-RS-422接口

class="headline-content">RS-422的电气性能与RS-485完全一样。主要的区别在于:

  RS-422有4根信号线:两根发送(Y、Z)、两根接收(A、B)。由于RS-422的收与发

  是分开的所以可以同时收和发(全双工)。

  RS-485有2根信号线:发送和接收都是A和B。由于RS-485的收与发是共用两根线所

  以不能够同时收和发(半双工)。

class="headline-content">RS-232-RS-232C接口定义(25芯)

class="headline-content">针脚 定义 符号

  1 频蔽地线

  2 发送数据 TXD

  3 接收数据 RXD

  4 请求发送RTS

  5 允许发送 CTS

  6 数据准备好 DSR

  7 信号地 SG

  8 载波检测 DCD

  9 发送返回(+)

  10 未定义

  11 数据发送(-)

  12~17 未定义

  18 数据接收(+)

  19 未定义

  20 数据class="tags" href="/tags/ZhongDuan.html" title=终端>终端准备好 DTR

  21 未定义

  22 振铃 RI

  23~24 未定义

  25 接收返回(-)

  Pin 1 Protective Ground

  Pin 2 Transmit Data

  Pin 3 Received Data

  Pin 4 Request To Send

  Pin 5 Clear To Send

  Pin 6 Data Set Ready

  Pin 7 Signal Ground

  Pin 8 Received Line Signal Detector

  (Data Carrier Detect)

  Pin 20 Data Terminal Ready

  Pin 22 Ring Indicator

class="headline-content">RS-232-RS-232C接口定义(9芯)

class="headline-content">针脚 定义 符号

class="headline-content">1 载波检测 DCD

class="headline-content">2 接收数据 RXD

class="headline-content">3class="headline-content"> 发送数据 TXD

class="headline-content">4 数据class="tags" href="/tags/ZhongDuan.html" title=终端>终端准备好 DTR

class="headline-content">5 信号地 SG

class="headline-content">6 数据准备好 DSR

class="headline-content">7 请求发送 RTS

class="headline-content">8 清除发送 class="headline-content">CTS

class="headline-content">9 振铃提示 RI

class="headline-content">Pin class="headline-content">1 Received Line Signal Detector(Data Carrier Detect)

class="headline-content">Pin 2 Received Data

class="headline-content">Pin 3 Transmit Data

class="headline-content">Pin class="headline-content">4 Data Terminal Ready

class="headline-content">Pin class="headline-content">5 Signal Ground

class="headline-content">Pin class="headline-content">6 Data Set Ready

class="headline-content">Pin class="headline-content">7 Request To Send

class="headline-content">Pin 8 Clear To Send

class="headline-content">Pin 9 Ring Indicator

class="headline-content">异步class="tags" href="/tags/TongXun.html" title=通讯>通讯
 对于支持串行class="tags" href="/tags/TongXun.html" title=通讯>通讯的机器而言,它需要知道如何判别数据起始和终止.这篇指南将介绍异步串行数据.
 
 在异步模式下,串行数据直到有字符被发送前一直保持mark状态.在每个字符之前有一开始位,紧接着是结束位,一
 个可选的奇偶位和若干个停止位.起始位总是space,告诉机器串行数据已经准备好了.数据可以在任何时候被发送或接收,
 因此称之为异步的.
 
 可选的奇偶位简单地统计数据中包含奇数个1还是偶数个1.如果有偶数个1,则这位为0,称偶校验位.如果是奇数个1,则
 该位为0,称奇校验位.通常还有spaceparity,mark parity和no parity的说法.SpaceParity就是校验位总是0,markParity
 就是校验位总是1,NoParity表示不使用或不传输校验位.
 接着的那位是终止位.在字符之间可以有1,1.5或2个终止位,它们的值总是1.以前终止位是为了让机器有更多的时间去
 处理前一个字符,但现在仅仅是用于在机器接收字符时的同步化.

 异步数据格式通常用诸如"8N1","7E1"等等表示.前者表示8个数据位,没有校验位,1个终止位.后者表示7个数据位,偶校
 验位,1个终止位.

什么是全双工和单双工
 
 全双工表示机器可以同时既发送数据又可以接收数据,有两个独立的数据通道(一进一出).

 当双工表示机器不能在发送数据的同时又接收数据.通常这意味这仅仅有一个数据通道在使用.这并不意味RS-232的
 信号不能使用,而是class="tags" href="/tags/TongXun.html" title=通讯>通讯联接仅能使用不支持全双工操作的其它的标准,而不是RS-232.


 流量控制
 当在两个串行接口之间传输数据时通常有需要调节数据流量.这可能需要对之间的串行class="tags" href="/tags/TongXun.html" title=通讯>通讯联接,某个串行接口或者某个
 存储介质实行一些限制.对于异步数据通常有两种方法.

 一是软件流量控制.使用特殊的字符去标志数据流的开始(XON,DC1,八进制的021或结束(XOFF,DC3,八进制的023).这些
 字符可以在ASCC中找到定义.然而当传输文本信息时这些字符拥有自身的含义,不能被使用.
 
 另一种是硬件流量控制,用RS232的CTS和RTS信号代替特殊字符用于控制.当接收方准备接收更多的数据时,设置CTS为
 Space电压,反之设成Mark电压.对应的,当发送方准备发送更多的数据时,设置RTS为space电压.由于硬件的流量控制使用
 独立的一套信号,比软件的实现更快,因为作同样的工作,后者需要发送或接收多位信息.另外,并不是所有的硬件或操作系
 统都支持CTS/RTS流量控制.

 什么时中断/Break?
 一般而言,一个接收或者传输数据的信号直到一个新的字符被传送之前一直保持mark电压.如果信号过了很长时间后才被降
 低到space电压,通常时1/4到1/2秒,那么我们称这种状态为break./if the class="tags" href="/tags/SIGNAL.html" title=signal>signal is dropped to the space voltage for
 a long period of time,.../

 Break有时被用来重置class="tags" href="/tags/TongXun.html" title=通讯>通讯线路或者改变诸如Modem的class="tags" href="/tags/TongXun.html" title=通讯>通讯设备的工作模式.第三章的"如何操作Modem"将更深入地谈论这个
 问题.
 
同步class="tags" href="/tags/TongXun.html" title=通讯>通讯
 与异步数据不同的是,同步数据是一种恒定的位流.为了从class="tags" href="/tags/TongXun.html" title=通讯>通讯线上读出数据,机器必须发送或者接收一个普通的位作为时钟
 以达到发送端和接收端的同步.

 对于同步,机器必须标志数据的起始位置.实现它的最普通的方法时使用类似串行数据链路控制SDLC或者高速数据链路控制
 HDLC之类的数据包协议.

 每一个协议定义了固定的位顺序以表示数据包的开始和结束,同时也定义了被用来表示没有数据时使用的位顺序.机器根据这些
 位顺序可以知道数据包的开始位.
  
 因为同步协议不使用每个字符的同步位,所以它们一般能比异步class="tags" href="/tags/TongXun.html" title=通讯>通讯提高至少25%的性能,适合远程网络和两个以上的串行接口
 的配置.

 尽管同步协议拥有速度优势,但大多数RS232硬件仍然由于额外的硬件和必要的软件而没有支持它.

cle>

http://www.niftyadmin.cn/n/1403802.html

相关文章

RS232 RTS和CTS是什么意思

34RTS和CTS是什么意思? 解释一:RTS:终端我准备发数据给你,快用CTS应答,准备好没? CTS:好了,来吧 解释二:CTS:主机,我有数据,请求接收 RTS:我…

Windows API串口编程参考

(一)Windows API串口通信编程概述 Windows环境下的串口编程与DOS环境下的串口编程有很大不同。Windows环境下的编程的最大特征之一就是设备无关性,它通过设备驱动程序将Windows应用程序同不同的外部设备隔离。Windows封装了Windows的通信机制…

一个CDialog初始化时的异常问题 Error: no data exchange control with ID 0x%04X./n , nIDC

今天做程序,错误删除了窗体的部分控件,添加完以后结果运行就出现了: CDialog::OnInitDialog();运行时出现错误重试以后进入下边函数:HWND CDataExchange::PrepareCtrl(int nIDC){ ASSERT(nIDC ! 0); ASSERT(nIDC ! -1…

获取本地计算机名和IP地址

//注意使用using System.Net;string HostName Dns.GetHostName();//遍历地址列表&#xff0c;如果电脑有多网卡只能这样遍历显示IPAddress[] iplist Dns.GetHostAddresses(HostName);for (int i 0; i < iplist.Length; i){if (iplist[i].AddressFamily.ToString() "…

WINCE ARM Datatype misalignment 问题

在arm处理器上&#xff0c;运行程序会遇到Datatype misalignment问题而crash&#xff0c;而同一代码在x86 win32环境上编译后运行良好&#xff1b;其实不管是x86还是arm都会遇到Datatype misalignment问题&#xff0c;比如d3dx用到sse指令优化的D3DXMATRIX时&#xff0c;需要这…

快速排序算法Java

<p>快速排序排序相对于普通排序算法效率很高&#xff0c;特别是对于大数据优势体现的相当明显</p><p>下面是java程序</p><p><span style"BACKGROUND-COLOR: #ffffff">主程序&#xff1a;</span></p> import java.ut…

DrawText如何使多行文字居中

&#xff08;1&#xff09;DT_WORDBREAK 只能截断单词。例如如果输入一连串英文字符&#xff0c;那么它会当做一个单词来处理&#xff0c;而不会自动换行。而对于中文字符则可以。如果要对所有字符都可以像Edit控件中那样自动换行&#xff0c;那么可以使用DT_WORDBREAK | DT_ED…

Android中实现拨打电话、发送短信、响铃、震动和获取当前时间

如果要实现以下功能&#xff0c;需先在Androidmainifest.xml中注册来获取权限&#xff0c;xml代码如下&#xff1a; <uses-permission android:name"android.permission.SEND_SMS"/> 请求获取发送短信权限<uses-permission android:name"android.perm…