《STM32嵌入式单片机原理与应用》 课件 第8章 USART串行通信_第1页
《STM32嵌入式单片机原理与应用》 课件 第8章 USART串行通信_第2页
《STM32嵌入式单片机原理与应用》 课件 第8章 USART串行通信_第3页
《STM32嵌入式单片机原理与应用》 课件 第8章 USART串行通信_第4页
《STM32嵌入式单片机原理与应用》 课件 第8章 USART串行通信_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章USART串行通信本章讲述了USART串行通信,包括串行通信基础、USART工作原理、USART库函数、USART串行通信应用实例和外部总线。

8.1串行通信基础在串行通信中,参与通信的两台或多台设备通常共享一条物理通路。发送者依次逐位发送一串数据信号,按一定的约定规则为接收者所接收。由于串行端口通常只是规定了物理层的接口规范,所以为确保每次传送的数据报文能准确到达目的地,使每一个接收者能够接收到所有发向它的数据,必须在通信连接上采取相应的措施。由于借助串行端口所连接的设备在功能、型号上往往互不相同,其中大多数设备除了等待接收数据之外还会有其他任务。例如,一个数据采集单元需要周期性地收集和存储数据;一个控制器需要负责控制计算或向其他设备发送报文;一台设备可能会在接收方正在进行其他任务时向它发送信息。必须有能应对多种不同工作状态的一系列规则来保证通信的有效性。这里所讲的保证串行通信有效性的方法包括:使用轮询或者中断来检测、接收信息;设置通信帧的起始、停止位;建立连接握手;实行对接收数据的确认、数据缓存以及错误检查等。无论是RS-232还是RS-485,均可采用串行异步收发数据格式。在串行端口的异步传输中,接收方一般事先并不知道数据会在什么时候到达。在它检测到数据并做出响应之前,第一个数据位就已经过去了。因此每次异步传输都应该在发送的数据之前设置至少一个起始位,以通知接收方有数据到达,给接收方一个准备接收数据、缓存数据和做出其他响应所需要的时间。而在传输过程结束时,则应由一个停止位通知接收方本次传输过程已终止,以便接收方正常终止本次通信而转入其他工作程序。串行异步收发(UART)通信的数据格式如图8-1所示。8.1.1串行异步通信数据格式图8-1串行异步收发(UART)通信的数据格式通信帧的起始位可以引起接收方的注意,但发送方并不知道,也不能确认接收方是否已经做好了接收数据的准备。利用连接握手可以使收发双方确认已经建立了连接关系,接收方已经做好准备,可以进入数据收发状态。连接握手过程是指发送者在发送一个数据块之前使用一个特定的握手信号来引起接收者的注意,表明要发送数据,接收者则通过握手信号回应发送者,说明它已经做好了接收数据的准备。连接握手可以通过软件,也可以通过硬件来实现。在软件连接握手中,发送者通过发送一个字节表明它想要发送数据。接收者看到这个字节的时候,也发送一个编码来声明自己可以接收数据,当发送者看到这个信息时,便知道它可以发送数据了。接收者还可以通过另一个编码来告诉发送者停止发送。8.1.2连接握手接收者为表明数据已经收到而向发送者回复信息的过程称为确认。有的传输过程可能会收到报文而不需要向相关节点回复确认信息。但是在许多情况下,需要通过确认告知发送者数据已经收到。有的发送者需要根据是否收到确认信息来采取相应的措施,因而确认对某些通信过程是必需的和有用的。即便接收者没有其他信息要告诉发送者,也要为此单独发一个确认数据已经收到的信息。确认报文可以是一个特别定义过的字节,例如一个标识接收者的数值。发送者收到确认报文就可以认为数据传输过程正常结束。如果发送者没有收到所希望回复的确认报文,它就认为通信出现了问题,然后将采取重发或者其他行动。8.1.3确认中断是一个信号,它通知CPU有需要立即响应的任务。每个中断请求对应一个连接到中断源和中断控制器的信号。通过自动检测端口事件发现中断并转入中断处理。许多串行端口采用硬件中断。在串口发生硬件中断,或者一个软件缓存的计数器到达一个触发值时,表明某个事件已经发生,需要执行相应的中断响应程序,并对该事件做出及时的反应。这种过程也称为事件驱动。8.1.4中断通过周期性地获取特征或信号来读取数据或发现是否有事件发生的工作过程称为轮询。它需要足够频繁地轮询端口,以便不遗失任何数据或者事件。轮询的频率取决于对事件快速反应的需求以及缓存区的大小。轮询通常用于计算机与I/O端口之间较短数据或字符组的传输。由于轮询端口不需要硬件中断,因此可以在一个没有分配中断的端口运行此类程序。很多轮询使用系统计时器来确定周期性读取端口的操作时间。

8.1.5轮询8.2USART工作原理通用同步异步收发器(UniversalSynchronous/AsynchronousReceiver/Transmitter,USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互联网)、智能卡协议和IrDA(红外数据组织)SIRENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。使用多缓冲器配置的DMA方式,可以实现高速数据通信。SM32F103微控制器的小容量产品有2个USART,中等容量产品有3个USART,大容量产品有3个USART+2个UART(UniversalAsynchronousReceiver/Transmitter)。8.2.1USART介绍USART主要特性如下:1)全双工的,异步通信。2)NRZ标准格式。3)分数波特率发生器系统。发送和接收共用的可编程波特率,最高达4.5Mbit/s。4)可编程数据字长度(8位或9位)。5)可配置的停止位-支持1或2个停止位。6)LIN主发送同步断开符的能力以及LIN从检测断开符的能力。当USART硬件配置成LIN时,生成13位断开符;检测10/11位断开符。7)发送方为同步传输提供时钟。

8.2.2USART主要特性8)IRDASIR编码器解码器。在正常模式下支持3/16位的持续时间。9)智能卡模拟功能。智能卡接口支持ISO7816-3标准里定义的异步智能卡协议;智能卡用到0.5和1.5个停止位。10)单线半双工通信。11)可配置的使用DMA的多缓冲器通信。在SRAM里利用集中式DMA缓冲接收/发送字节。12)单独的发送器和接收器使能位。13)检测标志。接收缓冲器满;发送缓冲器空;传输结束标志。14)校验控制。发送校验位;对接收数据进行校验。15)四个错误检测标志。溢出错误;噪声错误;帧错误;校验错误。16)10个带标志的中断源。CTS改变;LIN断开符检测;发送数据寄存器空;发送完成;接收数据寄存器满;检测到总线为空闲;溢出错误;帧错误;噪声错误;校验错误。17)多处理器通信。如果地址不匹配,则进入静默模式。18)从静默模式中唤醒。通过空闲总线检测或地址标志检测。19)两种唤醒接收器的方式。地址位(MSB,第9位),总线空闲。STM32F103微控制器USART接口通过三个引脚与其他设备连接在一起,其内部结构如图8-2所示。8.2.3USART功能概述图8-2USART结构框图任何USART双向通信至少需要两个脚:接收数据输入(RX)和发送数据输出(TX)。RX:接收数据串行输入。通过过采样技术来区别数据和噪声,从而恢复数据。TX:发送数据串行输出。当发送器被禁止时,输出引脚恢复到它的I/O端口配置。当发送器被激活,并且不发送数据时,TX引脚处于高电平。在单线和智能卡模式里,此I/O口被同时用于数据的发送和接收。1)总线在发送或接收前应处于空闲状态。2)一个起始位。3)一个数据字(8或9位),最低有效位在前。4)0.5,1.5,2个的停止位,由此表明数据帧的结束。5)使用分数波特率发生器-12位整数和4位小数的表示方法。6)一个状态寄存器(USART_SR)。7)数据寄存器(USART_DR)。8)一个波特率寄存器(USART_BRR),12位的整数和4位小数。9)一个智能卡模式下的保护时间寄存器(USART_GTPR)。在同步模式中需要以下引脚:CK:发送器时钟输出。此引脚输出用于同步传输的时钟。这可以用来控制带有移位寄存器的外部设备(如LCD驱动器)。时钟相位和极性都是软件可编程的。在智能卡模式里,CK可以为智能卡提供时钟。在IrDA模式里需要下列引脚:1)IrDA_RDI:IrDA模式下的数据输入。2)IrDA_TDO:IrDA模式下的数据输出。下列引脚在硬件流控模式中需要:1)nCTS:清除发送,若是高电平,在当前数据传输结束时阻断下一次的数据发送。2)nRTS:发送请求,若是低电平,表明USART准备好接收数据。字长可以通过编程USART_CR1寄存器中的M位,选择8或9位,如图8-3所示。在起始位期间,TX脚处于低电平,在停止位期间处于高电平。空闲符号被视为完全由1组成的一个完整的数据帧,后面跟着包含了数据的下一帧的开始位。断开符号被视为在一个帧周期内全部收到0。在断开帧结束时,发送器再插入1或2个停止位(1)来应答起始位。发送和接收由一共用的波特率发生器驱动,当发送器和接收器的使能位分别置位时,分别为其产生时钟。8.2.4USART通信时序图8-3USART通信时序STM32F103系列微控制器的USART主要有以下各种中断事件:1)发送期间的中断事件包括发送完成(TC)、清除发送(CTS)、发送数据寄存器空(TXE)。2)接收期间:空闲总线检测(IDLE)、溢出错误(ORE)、接收数据寄存器非空(RXNE)、校验错误(PE)、LIN断开检测(LBD)、噪声错误(NE,仅在多缓冲器通信)和帧错误(FE,仅在多缓冲器通信)。如果设置了对应的使能控制位,这些事件就可以产生各自的中断,如表8-1所示。8.2.5USART中断表8-1STM32F103系列微控制器USART的中断事件及其使能标志位中断事件事件标志使能位发送数据寄存器空TXETXEIECTS标志CTSCTSIE发送完成TCTCIE接收数据就绪可读RXNERXNEIE检测到数据溢出OREOREIE检测到空闲线路IDLEIDLEIE奇偶检验错PEPEIE断开标志LBDLBDIE噪声标志、溢出错误和帧错误NE或ORT或FEEIE现将STM32F103的USART相关寄存器名称介绍如下,可以用半字(16位)或字(32位)的方式操作这些外设寄存器,由于采用库函数方式编程,故不做进一步的探讨。1)状态寄存器(USART_SR)。图10-7.STM32F103系列微控制器USART中断映射2)数据寄存器(USART_DR)。3)波特比率寄存器(USART_BRR)。4)控制寄存器1(USART_CR1)。5)控制寄存器2(USART_CR2)。6)控制寄存器3(USART_CR3)。7)保护时间和预分频寄存器(USART_GTPR)。8.2.6USART相关寄存器8.3USART库函数STM32标准库中提供了几乎覆盖所有USART操作的函数,如表8-2所示。为了理解这些函的具体使用方法,对标准库中部分函数做详细介绍。STM32F10x的USART库函数存放在STM32F10x标准外设库的stm32f10x_usart.h、stm32f10x_usart.c等文件中。其中,头文件stm32f10x_usart.h用来存放USART相关结构体和宏定义以及USART库函数的声明,源代码文件stm32f10x_usart.c用来存放USART库函数定义。表8-2USART库函数函数名称功能USART_DeInit将外设USARTx寄存器重设为缺省值USART_Init根据USART_InitStruct中指定的参数初始化外设USARTx寄存器USART_StructInit把USART_InitStruct中的每一个参数按缺省值填入USART_Cmd使能或失能USART外设USART_ITConfig使能或失能指定的USART中断USART_DMAConfig使能或失能指定USART的DMA请求USART_SetAddress设置USART节点的地址USART_WakeUpConfig选择USART的唤醒方式USART_ReceiveWakeUpConfig检查USART是否处于静默模式USART_LINBreakDetectLengthConfig设置USARTLIN中断检测长度USART_LINCmd使能或失能USARTx的LIN模式USART_SendData通过外设USARTx发送数据USART_ReceiveData通过外设USARTx接收数据USART_SendBreak发送中断字USART_SetGuardTime设置指定的USART保护时间USART_SetPrescaler设置USART时钟预分频USART_SmartCardCmd使能或失能指定USART的智能卡模式USART_SmartCardNackCmd使能或失能Nack传输USART_HalfDuplexCmd使能或失能USART半双工模式USART_IrDAConfig设置USARTIrDA模式USART_IrDACmd使能或失能USARTIrDA模式USART_GetFlagStatus检查指定的USART标志位设置与否USART_ClearFlag清除USARTx的待处理标志位USART_GetITStatus检查指定的USART中断发生与否USART_ClearITPendingBit清除USARTx的中断待处理位1.函数USART_DeInit函数名:USART_DeInit。函数原型:voidUSART_DeInit(USART_TypeDef*USARTx)。功能描述:将外设USARTx寄存器重设为缺省值。输入参数:USARTx,x可以是1,2或者3,用来选择USART外设。输出参数:无。返回值:无。例如:/*ResetstheUSART1registerstotheirdefaultresetvalue*/USART_DeInit(USART1);2.函数USART_Init函数名:USART_Init。函数原型:voidUSART_Init(USART_TypeDef*USARTx,USART_InitTypeDef*USART_InitStruct)。功能描述:根据USART_InitStruct中指定的参数初始化外设USARTx寄存器。输入参数1:USARTx,x可以是1,2或者3,用来选择USART外设。输入参数2:USART_InitStruct,指向结构体USART_InitTypeDef的指针,包含了外设USART的配置信息。输出参数:无。返回值:无。例如:/*ThefollowingexampleillustrateshowtoconfiguretheUSART1*/USART_InitTypeDefUSART_InitStructure;USART_InitStructure.USART_BaudRate=9600;USART_InitStructure.USART_WordLength=USART_WordLength_8b;USART_InitStructure.USART_StopBits=USART_StopBits_1;USART_InitStructure.USART_Parity=USART_Parity_Odd;USART_InitStructure.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_RTS_CTS;USART_Init(USART1,&USART_InitStructure);3.函数USART_Cmd其函数名:USART_Cmd。函数原型:voidUSART_Cmd(USART_TypeDef*USARTx,FunctionalStateNewState)。功能描述:使能或失能USART外设。输入参数1:USARTx,x可以是1,2或者3,用来选择USART外设。输入参数2:NewState,外设USARTx的新状态。这个参数可以取:ENABLE或者DISABLE。输出参数:无。返回值:无。例如:/*EnabletheUSART1*/USART_Cmd(USART1,ENABLE);

4.函数USART_SendData函数名:USART_SendData。函数原型:voidUSART_SendData(USART_TypeDef*USARTx,uint16_tData)。功能描述:通过外设USARTx发送单个数据。输入参数1:USARTx,x可以是1,2或者3,用来选择USART外设。输入参数2:Data:待发送的数据。输出参数:无。返回值:无。例如:/*SendoneHalfWordonUSART3*/USART_SendData(USART3,0x26);

5.函数USART_ReceiveData函数名:USART_ReceiveData。函数原型:u16USART_ReceiveData(USART_TypeDef*USARTx)。功能描述:返回USARTx最新接收到的数据。输入参数1:USARTx,x可以是1,2或者3,用来选择USART外设。输出参数:无。返回值:接收到的字。例如:/*ReceiveonehalfwordonUSART2*/u16RxData;RxData=USART_ReceiveData(USART2);函数USART_GetFlagStatus

6.函数USART_GetFlagStatus函数名:USART_GetFlagStatus。函数原型:FlagStatusUSART_GetFlagStatus(USART_TypeDef*USARTx,uint16_tUSART_FLAG)。功能描述:检查指定的USART标志位设置与否。输入参数1:USARTx,x可以是1,2或者3,用来选择USART外设。输入参数2:USART_FLAG,待指定的USART标志位。输出参数:无。返回值:USART_FLAG的新状态(SET或者RESET)。例如:/*Checkifthetransmitdataregisterisfullornot*/FlagStatusStatus;Status=USART_GetFlagStatus(USART1,USART_FLAG_TXE);

7.函数USART_ClearFlag函数名:USART_ClearFlag。函数原型:voidUSART_ClearFlag(USART_TypeDef*USARTx,uint16_tUSART_FLAG)。功能描述:清除USARTx的待处理标志位。输入参数1:USARTx,x可以是1,2或者3,用来选择USART外设。输入参数2:USART_FLAG,待清除的USART标志位。输出参数:无,返回值:无,例如:/*ClearOverrunerrorflag*/USART_ClearFlag(USART1,USART_FLAG_OR);

8.函数USART_ITConfig函数名:USART_ITConfig。函数原型:voidUSART_ITConfig(USART_TypeDef*USARTx,uint16_tUSART_IT,FunctionalStateNewState)。功能描述:使能或者失能指定的USART中断。输入参数1:USARTx,x可以是1,2或者3,用来选择USART外设。输入参数2:USART_IT,待使能或者失能的USART中断源。输入参数3:NewState,USARTx中断的新状态,这个参数可以取:ENABLE或者DISABLE。输出参数:无。返回值:无。例如:/*EnablestheUSART1transmitinterrupt*/USART_ITConfig(USART1,USART_IT_TransmitENABLE);

10.函数USART_ClearITPendingBit函数名:USART_ClearITPendingBit。函数原型:voidUSART_ClearITPendingBit(USART_TypeDef*USARTx,uint16_tUSART_IT)。功能描述:清除USARTx的中断待处理位。输入参数1:USARTx,x可以是1,2或者3,用来选择USART外设。输入参数2:USART_IT,待检查的USART中断源。输出参数:无。返回值:无。例如:/*CleartheOverrunErrorinterruptpendingbit*/USART_ClearITPendingBit(USART1,USART_IT_OverrunError);11.函数USART_DMACmd函数名:USART_DMACmd。函数原型:voidUSART_DMACmd(USART_TypeDef*USARTx,uint16_tUSART_DMAReq,FunctionalStateNewState)。功能描述:使能或者失能指定USART的DMA请求。输入参数1:USARTx,x可以是1,2或者3,用来选择USART外设。输入参数2:USART_DMAReq,指定DMA请求。输入参数3:NewState,USARTxDMA请求源的新状态,这个参数可以取:ENABLE或者DISABLE。输出参数:无。返回值:无。例如:/*EnabletheDMAtransferonRxandTxactionforUSART2*/USART_DMACmd(USART2,USART_DMAReq_Rx|USART_DMAReq_Tx,ENABLE);8.4USART串行通信应用实例USART只需两根信号线即可完成双向通信,对硬件要求低,使得很多模块都预留USART接口来实现与其他模块或者控制器进行数据传输,比如GSM模块、WiFi模块、蓝牙模块等。在硬件设计时,注意还需要一根“共地线”。经常使用USART来实现控制器与计算机之间的数据传输,这使得调试程序非常方便。比如可以把一些变量的值、函数的返回值、寄存器标志位等,通过USART发送到串口调试助手,这样可以非常清楚程序的运行状态,在正式发布程序时再把这些调试信息去掉即可。这样不仅可以将数据发送到串口调试助手,还可以从串口调试助手发送数据给控制器,控制器程序根据接收到的数据进行下一步工作。首先,编写一个程序实现开发板与计算机通信,在开发板上电时通过USART发送一串字符串给计算机,然后开发板进入中断接收等待状态。如果计算机发送数据过来,开发板就会产生中断,通过中断服务函数接收数据,并把数据返回给计算机。STM32F1的USART的功能有很多。最基本的功能就是发送和接收。其功能的实现需要串口工作方式配置、串口发送和串口接收三部分程序。本节只介结基本配置,其他功能和技巧都是在基本配置的基础上完成的,读者可参考相关资料。USART的基本配置流程如图8-4所示。需要注意的是,串口是IO的复用功能,需要根据数据手册将相应的IO配置为复用功能。如USART1的发送引脚和PA9复用,需将PA9配置为复用推挽输出,接收引脚和PA10复用,需将PA10配置为浮空输入,并开启复用功能时钟。另外,根据需要设置串口波特率和数据格式。和其他外设一样,完成配置后一定要使能串口功能。发送数据使用USART_SendData()函数。发送数据时一般要判断发送状态,等发送完成后再执行后面的程序,如下所示。8.4.1USART的基本配置流程/*发送数据*/USART_SendData(USART1,i);/*等待发送完成*/while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);接收数据使用USART_ReceiveData()函数。无论使用中断方式接收还是查询方式接收,首先要判断接收数据寄存器是否为空,非空时才进行接收,如下所示。/*接收寄存器非空*/(USART_GetFlagStats(USART1,USART_IT_RXNE)==SET);/*接收数据*/i=USART_ReceiveData(USARTI);图8-4USART的基本配置流程为利用USART实现开发板与计算机通信,需要用到一个USB转USART的IC电路,选择CH340G芯片来实现这个功能。CH340G是一个USB总线的转接芯片,实现USB转USART、USB转IrDA红外或者USB转打印机接口。使用其USB转USART功能,具体电路设计如图8-5所示。将CH340G的TXD引脚与USART1的RX引脚连接CH340G的RXD引脚与USART1的TX引脚连接。CH340G芯片集成在开发板上,其地线(GND)已与控制器的GND相连。8.4.2USART串行通信应用的硬件设计图8-5USB转串行接口的硬件电路设计创建两个文件bsp_usart.c和bsp_usart.h,用来存USART驱动程序及相关宏定义。编程要点:1)使能RX和TX引脚GPIO时钟和USART时钟;2)初始化GPIO,并将GPIO复用到USART上;3)配置USART参数;4)配置中断控制器并使能USART接收中断;5)使能USART;6)在USART接收中断服务函数中实现数据接收和发送。8.4.3USART串行通信应用的软件设计8.5外部总线外部总线主要用于计算机系统与系统之间或计算机系统与外部设备之间的通信。外部总线又分为两类:一类是各位之间并行传输的并行总线,如IEEE-488;另一类是各位之间串行传输的串行总线,如USB、RS-232C、RS-485等。1.RS-232C端子RS-232C的连接插头早期用25针EIA连接插头座,现在用9针的EIA连接插头座,其主要端子分配如表8-3所示。8.5.1RS-232C串行通信接口表8-3RS-232C主要端子端

脚方

向符

号功

能25针9针23输出TXD发送数据32输入RXD接收数据47输出RTS请求发送58输入CTS为发送清零66输入DSR数据设备准备好75

GND信号地81输入DCD数据信号检测204输出DTR229输入RI⑴信号含义1)从计算机到MODEM的信号DTR——数据终端(DTE)准备好:告诉MODEM计算机已接通电源,并准备好。RTS——请求发送:告诉MODEM现在要发送数据。2)从MODEM到计算机的信号DSR——数据设备(DCE)准备好:告诉计算机MODEM已接通电源,并准备好了。CTS——为发送清零:告诉计算机MODEM已作好了接收数据的准备。DCD——数据信号检测:告诉计算机MODEM已与对端的MODEM建立连接了。RI——振铃指示器:告诉计算机对端电话已在振铃了。3)数据信号TXD——发送数据。RXD——接收数据。⑵电气特性RS-232C的电气线路连接方式如图8-6所示。图8-6RS-232C的电气连接接口为非平衡型,每个信号用一根导线,所有信号回路共用一根地线。信号速率限于20kbps内,电缆长度限于15m之内。由于是单线,线间干扰较大。其电性能用±12V标准脉冲。值得注意的是RS-232C采用负逻辑。在数据线上:传号Mark=-5~-15V,逻辑“1”电平空号Space=+5~+15V,逻辑“0”电平在控制线上:通On=+5~+15V,逻辑“0”电平断Off=-5~-15V,逻辑“1”电平RS-232C的逻辑电平与TTL电平不兼容,为了与TTL器件相连必须进行电平转换。由于RS-232C采用电平传输,在通信速率为19.2kbps时,其通信距离只有15m。若要延长通信距离,必须以降低通信速率为代价。2.通信接口的连接当两台计算机经RS-232C口直接通信时,两台计算机之间的联络线可用图8-7和图8-8表示。虽然不接MODEM,图中仍连接着有关的MODEM信号线,这是由于INT14H中断使用这些信号,假如程序中没有调用INT14H,在自编程序中也没有用到MODEM的有关信号,两台计算机直接通信时,只连接2、3、7(25针EIA)或3、2、5(9针EIA)就可以了。图8-7使用MODEM信号的RS-232C接口图8-8不使用MODEM信号的RS-232C接口3.RS-232C电平转换器为了实现采用+5V供电的TTL和CMOS通信接口电路能与RS-232C标准接口连接,必须进行串行口的输入/输出信号的电平转换。目前常用的电平转换器有MOTOROLA公司生产的MC1488驱动器、MC1489接收器,TI公司的SN75188驱动器、SN75189接收器及美国MAXIM公司生产的单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论