资源描述
,15:33,/,#,CC2530,和,STM32,嵌入式接口技术开发,3.7 CC2530,串口通信技术应用开发,串口,的功能及,类别,CC2530,单片机串口的,使用,项目场景,说明,项目实践,串口概念,串行接口简称串口,也称串行通信接口或串行通讯接口(通常指,COM,接口),是采用串行通信方式的扩展接口,。,串行,接口,(Serial Interface),是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。,串口的接口标准,同步串行接口(英文:,SynchronousSerialInterface,,,SSI,)是一种常用的工业用通信接口。,异步串行是指,UART,(,Universal,Asynchronous Receiver/Transmitter,),通用异步接收,/,发送。,UART,是一个并行输入成为串行输出的芯片,通常集成在主板上。,UART,包含,TTL,电平的串口和,RS232,电平的串口。,TTL,电平是,3.3V,的,而,RS232,是负逻辑电平,它定义,+5+12V,为低电平,而,-12-5V,为高,电平,。,RS-232,RS-232,也,称标准串口,最常用的一种串行通讯接口,。,传统的,RS-232-C,接口标准有,22,根线,采用标准,25,芯,D,型插头座(,DB25,),后来使用简化为,9,芯,D,型插座(,DB9,),现在应用中,25,芯插头座已很少采用。,RS-232,采取不平衡传输方式,即所谓单端通讯。由于其发送电平与接收电平的差仅为,2V,至,3V,左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约,15,米,最高速率为,20kb/s,。,RS-422,标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。典型的,RS-422,是四线接口。实际上还有一根信号地线,共,5,根线,。,RS-422,支持点对多的双向通信。,RS-422,的最大传输距离为,1219,米,最大传输速率为,10Mb/s,。,RS-485,RS-485,是,从,RS-422,基础上发展而来的,所以,RS-485,许多电气规定与,RS-422,相仿,。,RS-485,可以采用二线与四线方式,二线制可实现真正的多点双向通信,而采用四线连接时,与,RS-422,一样只能实现点对多的,通信,。,串口通信协议,串口通信(,Serial Communications,)的概念非常简单,串口按位(,bit,)发送和接收字节,。,典型地,串口用于,ASCII,码字符的传输。通信使用,3,根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。,串口,通信的,参数,串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。,波特率,波特率这是一个衡量符号传输速率的参数。,数据位,数据位是衡量通信中实际数据位的参数。,停止位,停止位用于表示单个包的最后一位。,奇偶校验位,奇偶校验位在串口通信中一种简单的检错方式。,数据流控制,数据流控制作用就是当接收端的数据缓冲区已满,无法处理数据来时,就发出,不再接收,的信号,发送端则停止发送,直到发送端收到,可以继续发送,的信号再发送数据。,硬件数据流控制,RTS/CTS,(请求发送,/,清除发送)流控制和,DTR/DSR,(数据终端就绪,/,数据设置就绪)流控制,软件数据流控制,软件流控制常通过,XON/XOFF,来实现。,CC2530,串口,CC2530,的串口模式中提供异步串行接口功能。在,UART,模式中,串口,接口使用,2,线模式或者含有引脚,RXD,、,TXD,、可选,RTS,和,CTS,的,4,线模式。,UART,模式,的操作具有下列特点:,8,位或者,9,位负载数据,奇校验、偶校验或者无奇偶校验,配置起始位和停止位电平,配置,LSB,或者,MSB,首先传送,独立收发中断,独立收发,DMA,触发,奇偶校验和帧校验出错状态,CC2530,串口配置寄存器介绍,CC2530,单片机对于每个,USART,有,5,个配置寄存器来综合配置,CC2530,串口特性,。,UxCSR,(,USARTx,控制和状态寄存器),UxUCR,(,USARTx UART,控制寄存器),UxGCR,(,USARTx,通用控制寄存器),UxBUF,(,USART x,接收,/,发送数据缓冲寄存器),UxBAUD,(,USART x,波特率控制寄存器),项目,场景,生产车间往往都是有金属阻隔、电磁环境复杂不利于无线信号的通信,只有抗干扰能力较强的有线信号才能保证数据的传输稳定,同时中央控制台又需要一次控制多个设备,硬件上设定多个控制端是不现实的。为了解决这种问题实现工厂设备与控制台的交互就需要以一种可靠的通信方式来建立连接,串口以实现简单、数据传输稳定、可远距离传输数据、抗干扰能力强且一般电子设备都有这种接口全可以满足工业需求,串口就在工业领域得到了广泛的使用。,任务,目标,通过,编辑代码使用,CC2530,微处理器的串口外设,将配置好的串口外设通过串口线与,PC,机连接,打开,PC,机上的串口上位机,通过,PC,机上的串口上位机向,CC2530,微处理器发送数据。,CC2530,微处理器接收到数据后回显,,CC2530,微处理器当通过串口接收到了特定的字符时向,PC,机打印接收到的所有数据,以此实现,CC2530,微处理器与,PC,机的交互。,项目分析,串口,配置,,首先需要通过,P0SEL,寄存器将管脚属性配置为外设模式,然后通过,PERCFG,配置寄存器选择要配置的串口通道,接下来选择,P0,为串口优先并将双线总线模式配置为串口模式,最后配置串口波特率停止位和奇偶校验位,。,程序的接收数据则只需要对接收状态寄存器位,URX0IF,进行识别,如果接受到数据,则可直接从,U0DBUF,寄存器中获取接收到的数据。程序的发送数据与接收数据方式的操作顺序正好相反,首先向,U0DBUF,寄存器写入要发送的值,然后等到,UTX0IF,寄存器置位,如果置位则数据发送完成。,程序流程图,项目实现,串口,始,化程序,如下,:,void uart0_init(unsigned char StopBits,unsigned char Parity),P0SEL|=0 x0C;/,初始化,UART0,端口,PERCFG /,选择,UART0,为可选位置一,P2DIR /P0,优先作为串口,0,U0CSR=0 xC0;/,设置为,UART,模式,而且使能接受器,U0GCR=0 x0A;,U0BAUD=0 x3B;/,波特率设置为,38400,U0UCR|=StopBits|Parity;/,设置停止位与奇偶校验,项目实现,串口发送函数,如下,:,void uart_send_char(char ch),U0DBUF=ch;/,将要发送的数据填入发送缓存寄存器,while(UTX0IF=0);/,等待数据发送完成,UTX0IF=0;/,发送完成后将数据清零,项目实现,串口接收函数:,int uart_recv_char(void),int ch;/,等待数据接收完成,while(URX0IF=0);/,提取接受数据,ch=U0DBUF;,URX0IF=0;/,发送标志位清零,return ch;/,返回获取到的串口数据,项目思考,串口通信时需要配置哪些参数,?,请,列举几个常见的串口实例?,
展开阅读全文