还剩28页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
单片机的串行口C概述串行通信并行通信数据一位一位地传输,使用一根数据同时传输多位,使用多根数或两根数据线据线单片机串行口用于实现单片机与其他设备之间的串行通信串行通信简介串行通信是一种数据传输方式,数据以一位一位的方式在一条线上进行传输与并行通信相比,串行通信使用较少的导线,因此更适合远距离传输串行通信广泛应用于各种电子设备中,例如计算机、手机、传感器等等异步串行通信独立时钟起始和停止位校验位发送器和接收器使用各自独立的时钟信每个数据帧以起始位开始,以停止位结可选择添加校验位,用于检测数据传输号进行数据传输,无需同步时钟束,用于标识数据帧的开始和结束过程中的错误同步串行通信发送和接收设备使用同一个时钟信号通常使用特殊的同步协议,例如SPI,保证数据同步传输和I2C传输速度更快,更适合高数据速率传输工作原理UART串行传输1数据一位一位地传输异步通信2发送和接收设备使用独立的时钟起始位和停止位3用于数据帧的开始和结束校验位4用于检测数据传输错误收发过程UART发送1数据从写入的发送缓存区CPU UART移位寄存器2数据被移位到发送移位寄存器串行传输3数据以串行形式传输到接收端接收4接收端接收数据并存储到接收缓存区收发帧格式UART起始位数据位奇偶校验位停止位用于标志数据帧的开始,通常包含实际传输的数据,数量可用于检测数据传输过程中的错用于标志数据帧的结束,通常为逻辑低电平根据配置设定误,可选奇校验或偶校验为逻辑高电平硬件接口UART硬件接口通常包含以下组件UART(发送数据)用于发送串行数据•TXD(接收数据)用于接收串行数据•RXD(请求发送)用于控制发送数据流•RTS(清除发送)用于接收端控制发送端的数据流•CTS编程基础UART寄存器配置数据传输12工作需要配置相关寄存使用特定寄存器进行数据发送UART器,包括波特率、数据位、停和接收,例如发送数据寄存器止位、奇偶校验等参数和接收数据寄存器状态监测中断处理34监控的状态,例如发送配置中断,例如发送完成中断UART完成标志、接收缓冲区状态等、接收数据中断,提高通信效,以便进行数据处理率初始化UART设置波特率1波特率决定了数据传输速率,需要根据实际应用场景进行设置选择工作模式2根据通信协议选择同步或异步模式,并配置数据位、停止位和奇偶校验位配置中断3可以选择使用中断方式接收数据,提高程序效率发送数据UART写入数据数据传输确认发送将要发送的数据写入到发送缓冲控制器根据发送帧格式将数据一当所有数据都发送完毕后,控制UART UARTUART区位一位地传输到接收设备器会发出发送完成信号接收数据UART数据接收1接收器接收数据后存储在接收缓冲器中中断接收2通过中断方式接收数据,提高效率数据校验3对接收到的数据进行校验,确保数据完整性通信实例UART计算机与单片机传感器与单片机单片机与显示LCD通过串口线连接,实现数据传输和交互传感器数据采集,例如温度、湿度等将单片机信息显示在屏幕上LCD中断方式编程UART提高效率响应速度代码简洁中断方式可显著提高程序效率,无需及时响应串口事件,例如接收数据中减少代码冗余,提高代码可读性和维频繁轮询检查接收数据断,提高系统实时性护性通信错误处理UART帧错误超时错误12校验位错误,数据接收不完整在规定的时间内未接收到有效或数据丢失等数据,可能是通信中断或数据传输速度过慢奇偶校验错误3数据传输过程中发生数据位错误应用实例UART广泛应用于各种场景,例如UART数据采集系统通过传感器将数据传输到上位机•人机交互界面将单片机数据显示在或串口终端上•LCD网络通信与其他设备建立串行通信链路•工业控制控制电机、阀门等设备•工作原理SPI串行外设接口同步传输SPI(Serial PeripheralInterface)是一种同步串行通信SPI通信基于同步时钟信号,确保数据在主设备和从设备之协议,广泛应用于微控制器与外设之间的数据传输间同步传输1234四线通信主从模式SPI使用四根信号线进行通信时钟线(SCK)、数据输入SPI协议中存在主设备和从设备,主设备控制时钟信号,负线(MOSI)、数据输出线(MISO)和片选线(CS)责发送数据,从设备接收数据并发送响应数据接口硬件SPI接口通常由以下几个部分组成SPI主控设备发出时钟信号和数据信号,控制数据传输从机设备接收主控设备发出的时钟信号和数据信号,并进行数据处理数据线用于传输数据,一般为双向信号线时钟线用于控制数据传输速率,一般为单向信号线片选线用于选择与主控设备进行通信的从机设备编程基础SPI时钟信号数据传输数据选择信号通信使用一个时钟信号来同步数据传数据以串行方式传输,一个字节一个字每个从设备都使用一个数据选择信号来SPI输主设备控制时钟,从设备同步时钟节地发送每个字节的位按顺序发送,选择它主设备通过拉低数据选择信号来接收数据从最高位开始来激活特定的从设备主机发送数据SPI启动发送1主机通过设置发送数据寄存器,将要发送的数据写入时钟信号2主机控制时钟信号,同步数据传输数据传输3在时钟信号的控制下,数据逐位发送从机接收数据SPISPI从机配置首先,需要配置SPI从机模块,包括设置工作模式、时钟频率、数据位宽等参数接收数据SPI从机通过SPI接口接收主机发送的数据,并将其存储在指定的寄存器或缓冲区中数据处理从机根据接收到的数据进行相应的处理,例如,将数据存储到内存中、执行特定的操作或发送应答数据全双工通信SPI主设备同时发送数据到从设备从设备同时接收数据应用实例SPI传感器数据采集显示屏控制存储器读写可用于从传感器读取数据,例如温度可用于控制各种显示屏,例如、可用于与外部存储器芯片通信,例如SPI SPILCD SPI传感器、压力传感器和加速度计和闪存和OLED TFTEEPROM工作原理I2C起始信号1发送器将SDA线拉低,然后将SCL线拉低,表示开始传输数据地址发送2发送器发送7位地址,后一位为读写位,高电平为读,低电平为写应答信号3接收器收到地址后,将SDA线拉低,表示应答如果接收器没有应答,则发送器会重新发送地址数据传输4数据传输分为两部分发送器发送数据,接收器接收数据停止信号5数据传输完成后,发送器将SDA线拉高,然后将SCL线拉高,表示传输结束接口硬件I2C接口硬件主要由以下部分组成I2C串行数据线•SDA串行时钟线•SCL上拉电阻在和线上安装上拉电阻,以确保总线处•SDA SCL于高电平状态编程基础I2C总线协议库函数I2C I2C协议用于双向串行通信,允许微控制器与外设设备交换大多数单片机提供专门的库函数,简化编程过程I2C CI2C数据设备地址读写操作每个设备都有一个唯一的位地址,用于识别和通信通信包含读写操作,用于从外设设备获取数据或发送数I2C7I2C据读写操作I2C开始条件1拉高,拉低,然后拉低SDA SCLSDA设备地址发送2发送从机设备地址,包括位设备地址和读写位7/数据传输3主机发送数据或从机发送数据停止条件4拉低,拉高,然后拉高SDA SCLSDA应用实例I2C广泛用于各种应用中,包括传感器数据采集、实时时钟、存储I2C EEPROM器和显示器控制LCD例如,可以使用通信协议将温度传感器的数据读取到单片机中,并在I2C上显示温度值还可以使用控制实时时钟,精确地追踪时间LCD I2C总结串行通信UART提高效率、节约引脚,广泛应用于数简单、易于实现,适用于异步通信据传输SPI I2C高速、全双工,适合数据量大、时序低速、双向,适合多个设备之间的通要求高的场合信。
个人认证
优秀文档
获得点赞 0