7usart串口收发实验教学_第1页
7usart串口收发实验教学_第2页
7usart串口收发实验教学_第3页
7usart串口收发实验教学_第4页
7usart串口收发实验教学_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

第七章串口收发实验目录:1·串行数据传输模式2.异步串行接口(USART)2·CC2530中的串口3·硬件电路设计4·软件设计1·串行数据传输模式2.异步串行接口(USART)2·CC2530中的串口3·硬件电路设计4·软件设计目录:传统的并行传输模式优点:速度快,信息量大。缺点:1·并行通信方式,口线较多,线路连接复杂。2·抗干扰能力差,在PCB板上这么多暴露的连线非常容易受到外界和空间的干扰。

串行传输方式串行数据接口是数据传输的另外一种方式,它是指构成字符的二进制代码序列在一条信道上以位(码元)为单位,按时间顺序且按位输出的方式。如图1所示为一副典型的串行通信图:采用串行传输方式降低了传输线路的成本,比起并行传输需要十几根甚至几十根线相比具有明显的优势,需要注意的是,双方保持同步是实现数据交换的必要条件。常见的串行传输方式接口名称类型数据类型使用场合说明SPI同步电平板级扩展串行三线模式I2C同步电平板级扩展串行二线接口USART同步异步电平板级扩展系统通信用于系统通信需要电平转换目录:1·串行数据传输模式2.异步串行接口(USART)2·CC2530中的串口3·硬件电路设计4·软件设计异步串行接口(USART)异步传输是一种面向字符的传输技术,它是利用字符的再同步方式实现数据的发送和接收,在异步传输方式下,最基本的数据传输单元是一个字符帧。异步传输一个字符帧的组成方式称为该字符的数据帧格式。基本的字符数据帧是由7~13位组成的,其格式如图所示:图中符号的含义如下:IDLE:线路空闲,线路空闲时,线路保持逻辑1St:起始位,逻辑0[n]:数据位(0~8),最少5位,最多9位,低位在前[P]:校验位。SPn:停止位,逻辑1从图中可知,异步传输的字符数据帧是由1个数据位字加上同部位(开始和结束位)以及作为检错的校验位3部分构成:数据空闲时,数据线保持逻辑1,称为空闲状态数据帧由1位的逻辑0表示开始,该位称为开始位(St)在起始位后面跟着数据位,数据位的长度可以在5~9位之间进行选择,低位在前数据位后面是以为校验位[P]数据帧的结束是由停止位构成的,停止位为逻辑1,长度为1位或者2位。在一般的典型应用中,异步传输的数据帧通常采用1位起始位,8位数据位,无校验位,1位停止位。在串行传输中,发送端以数据帧为单位,逐帧发送数据,接收端也是以数据帧为单位,逐帧接收。两个数据帧之间可以有空闲状态也可以无空闲状态。因此异步传输的优点是不需要传送专用的同步时钟信号,数据帧之间的间隔长度不受限制,所需要的设备简单;缺点是在数据帧中采用了开始位和停止位实现同步,因此降低了有效数据的传输速率。波特率在异步通信中,怎样实现数据同步?发送端和接收端依靠什么协议调整数据的发送和接收呢?这里的关键点在于,接收方如何正确的检测到发送端所发送的数据帧,并能够正确地接收数据。这除了要依靠数据帧的格式以外,还有一个重要的指标——波特率。首先,发送和接收双方都必须采用相同的,一个约定好的串行通信波特率。确定波特率,其实就是规定数据帧中一个位的宽度。一旦确定了波特率,那么通信的双方就必须在相同的波特率下工作。波特率相当于一把检测(扫描)数据帧的“尺子”。波特率的定义为每秒钟传送的二进制数码的位数(也叫比特率),单位是b/s。通常异步通信所采用的标准波特率是1200的倍数,2400,4800,9600,19200,38400等。当异步通信的波特率和数据帧的格式确定以后,发送方就按照规定的数据帧格式,规定的位宽度发送数据帧。接收方则以传输线的空闲状态(逻辑1)作为起点,不停地检测和扫描传输线,测试到最后的停止位时,如果为1,则说明数据帧已经结束。目录:1·串行数据传输模式2.异步串行接口(USART)2·CC2530中的串口3·硬件电路设计4·软件设计CC2530串口通信组件CC2530具有USART0和USART1两个串行接口,它们可以运行于异步UART模式或者同步SPI模式。两个USART具有同样的功能,可以设置不同的GPIO引脚。CC530的异步串行接口提供包含有RXD,TXD的两线或者RXD,TXD,RTS和CTS的四线。异步传输UART具有以下的特点:8位或者9位数据位;奇偶校验位软件可配置起始位和停止位接收和发送中断互相独立,互不干扰接收和发送DMA触发也相互独立UART的发送和接收1)UART发送当向USART收/发数据缓冲寄存器UxBUF写入数据时,该数据字节发送到输出引脚TXDx。当字节传输开始时,UxCSR的ACIVE位设置为1,当字节传输完成时,UxCSR的ACTIVE位清0,同时,UxCSR的TX_BYTE位设置为1。当USART收/发数据缓冲寄存器准备接收新的数据时,就会产生一个中断请求。该中断在传送开始后立刻发生,因此当字节正在发送时,新的字节可以装入数据缓冲器。2)UART接收当1写入UxCSR的RE位时,便可以接收数据。UART首先在输入引脚RX-DX中寻找有效的起始位,并且设置UxCSR的ACTIVE位为1。一旦检测到有效起始位,收到的数据便移位到接收寄存器,同时UxCSR的RX-BYTE位置1,并且产生接收中断,UxCSR的ACTIVE位变为低电平。通过读取UxBUF寄存器,接收到数据字节。一旦UxBUF读出,UxCSR的Rx-BYTE位由硬件清0。相关寄存器位名称复位读/写功能描述7MODE0R/W模式选择。0:SPI模式

1:UART模式6RE0R/W接收允许位0:禁止接收1:允许接收5SLAVE0R/WSPI主从模式选择。0:SPI主1:SPI从4FE0R/W0帧错误状态标志:0:无错;1:停止位电平出错3ERR0R/W0奇偶错误状态标志:0:无错1:奇偶检测错2RX_BYTE0R/W0接收字节状态位

0:无接收字节1:接受完1字节1TX_BYTE0R/W0发送字节状态位。0:无字节发送

1:已发送0ACTIVE0R收发状态位。0:空闲;1:正在发送或接收USART0的控制和状态寄存器U0CSRUSART0控制寄存器U0UCR位名称复位读/写功能描述7FLUSH0R/W刷新,当设置位1时,停止当前操作返回空闲状态6FLOW0R/W硬件流控制位。0:流控制屏蔽;1:流控制允许5D90R/WUART奇偶位。0:奇校验

1:偶校验4BIT90R/W9位允许位。0:发送8位数据;1:发送9位数据3PARITY0R/W奇偶校验允许位。0:无奇偶校验1:奇偶校验2SPB0R/W停止位设置。0:1个停止位;1:两个停止位1STOP1R/W停止位电平设置。0:停止位为低电平;1:停止位为高电平0START0R/W起始位电平设置。0:起始位为高电平;1:起始位为低电平USART0通用控制寄存器(U0GCR)位名称复位读/写功能描述5ORDER0R/W数据位的发送顺序。0:先发送低位;1先发送高位4:0BAUD[4:0]0R/W波特率指数控制位。与BAUD_M一起决定UART波特率USART0波特率控制寄存器(U0BAUD)位名称复位读/写功能描述7:0BAUD_M[7:0]0R/W波特率尾数控制位,与BAUD_M一起决定波特率USART0发送和接收缓冲寄存器(U0BUF)位名称复位读/写功能描述7:0DATA[7:0]0x00R/W接收和发送缓冲寄存器。写寄存器时,数据写入内部的发送寄存器中;当读该寄存器时,读取内部接收寄存器的数据外设控制寄存器PERCFG位名称复位读/写功能描述1U1CFG0R/w串口1端口映射。0:转换位置1;1:转换位置20U0CFG0R/W串口0端口映射。0:转换位置1;1:转换位置2端口0功能选择P0SEL位名称复位读/写功能描述7:0SELP0_[7:0]0x00R/WP0.7~P0.0功能选择。0:GPIO;1:外设端口端口1功能选择P1SEL位名称复位读/写功能描述7:0SELP1_[7:0]0x00R/WP1.7~P1.0功能选择。0:GPIO;1:外设端口目录:1·串行数据传输模式2.异步串行接口(USART)2·CC2530中的串口3·硬件电路设计4·软件设计接口学习这是通用的串口接头,同学们手边的学习电脑一般都为笔记本电脑,为了符合轻薄的市场需求,这种接头如今在笔记本电脑上已经消失。Usb口为现在电脑应用最广泛的一种总线通信机制,同学们手边的电脑不关多么轻薄,usb接口一定存在,因此我们使用Usb总线接口虚拟出一个串口进行实验和学习。安装串口相关驱动将开发板接上电脑USB,并安装相关驱动。具体的驱动文件,已经在文件夹中准备如图所示:按照电脑的提示,安装驱动,成功之后可以看到电脑的设备管理器上出现相应的串口号如图所示:开发板串口硬件电路目录:1·串行数据传输模式2.异步串行接口(USART)2·CC2530中的串口3·硬件电路设计4·软件设计软件设计实验任务:实现单片机向计算机的数据发送功能,实现单片机对计算机的数据接收功能。如果有数据到来,指示灯点亮,同时将接收到的数据通过串口返回给计算机,验证数据接收的正确性,数据以‘#’结尾,数据的长度不大于30。主题流程图#defineUART_SETUP(uart,baudRate,options)\do{\if((uart)==0){\if(PERCFG&0x01){\P1SEL|=0x30;\}else{\P0SEL|=0x0C;\}\}\else{\if(PERCFG&0x02){\P1SEL|=0xC0;\}else{\P0SEL|=0x30;\}\}\U##uart##GCR=BAUD_E((baudRate),CLKSPD);\U##uart##BAUD=BAUD_M(baudRate);\\U##uart##CSR|=0x80;\U##uart##UCR|=((options)|0x80);\\if((options)&TRANSFER_MSB_FIRST){\U##uart##GCR|=0x20;\}\}while(0)voidUartTX_Send_String(uchar*Data,intlen){intj;for(j=0;j<len;j++){U0DBUF=*Data++;while(UTX0IF==0);UTX0IF=0;}}#defineINT_ENABLE(inum,on)\do{\if(inum==INUM_RFERR){RFERRIE=on;}\elseif(inum==INUM_ADC){ADCIE=on;}\elseif(inum==INUM_URX0){URX0IE=on;}\elseif(inum==INUM_URX1){URX1IE=on;}\elseif(inum==INUM_ENC){ENCIE=on;}\elseif(inum==INUM_ST){STIE=on;}\elseif(inum==INUM_P2INT){(on)?(IEN2|=0x02):(IEN2&=~0x02);}\elseif(inum==INUM_UTX0){(on)?(IEN2|=0x04):(IEN2&=~0x04);}\elseif(inum==INUM_DMA){DMAIE=on;}\elseif(inum==INUM_T1){T1IE=on;}\elseif(inum==INUM_T2){T2IE=on;}\elseif(inum==INUM_T3){T3IE=on;}\elseif(inum==INUM_T4){T4IE=on;}\elseif(inum==INUM_P0INT){P0IE=on;}\elseif(inum==INUM_UTX1){(on)?(IEN2|=0x08):(IEN2&=~0x08);}\elseif(inum==INUM_P1INT){(on)?(IEN2|=0x10):(IEN2&=~0x10);}\elseif(inum==INUM_RF){(on)?(IEN2|=0x01):(IEN2&=~0x01);}\elseif(inum==INUM_WDT){(on)?(IEN2|=0x20):(IEN2&=~0x20);}\}while(0)发送函数voidUartTX_Send_String(uchar*Data,intlen){intj;for(j=0;j<len;j++){U0DBUF=*Data++;while(UTX0IF==0);UTX0IF=0;}}接收函数temp=U0DBUF;BYTERecdata[30]="HelloEnlern!!!";INIT_LED_PORT();PERCFG=0x00;//P0功能转换

U0CSR|=0X40;//uart接收使能

UART_SETUP(0,57600,HIGH_STOP);INT_GLOBAL_ENABLE(INT_ON);//开总中断

INT_ENABLE(INUM_URX0,INT_ON);//开接受中断

stringlen=strlen((char*)Recdata);UartTX_Send_String(Recdata,stringlen);//发送Recdata#pragmavector=URX0_VECTOR__interruptvoidUART0_ISR(void){ URX0IF=0; //清中断标志位

temp=U0DBUF;}while(1){if(RTflag==1) //接收

{LED1=LED_ON; //接收状态指示

if(temp!=0){if((temp!='

温馨提示

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

评论

0/150

提交评论