- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
PAGE1
PAGE1
TM4C123G串行通信接口
1.串行通信接口概述
1.1串行通信的基本概念
串行通信是一种数据传输方式,通过一条数据线逐位发送或接收数据。与并行通信相比,串行通信具有线路简单、成本低、传输距离远等优点。TM4C123G支持多种串行通信接口,包括UART、I2C、SPI和CAN等。
1.2TM4C123G的串行通信接口
TM4C123G提供了丰富的串行通信接口,包括:
UART(通用异步收发传输器):用于异步串行通信,适用于低速通信场景。
I2C(Inter-IntegratedCircuit):用于多主设备通信,常用于连接传感器和外部存储器等。
SPI(SerialPeripheralInterface):用于高速同步通信,适用于主从设备之间的数据传输。
CAN(ControllerAreaNetwork):用于汽车和工业控制领域的多主设备通信,具有较高的可靠性和抗干扰能力。
2.UART接口
2.1UART接口的基本原理
UART是一种通用异步收发传输器,用于实现两个设备之间的异步串行通信。UART通过TX(传输)和RX(接收)两个引脚进行数据的发送和接收。数据传输速率(波特率)由发送和接收双方协商确定,常见的波特率有9600、115200等。
2.2UART接口的配置
在TM4C123G中,配置UART接口需要以下几个步骤:
使能UART模块的时钟。
配置UART引脚。
设置波特率。
配置UART控制寄存器。
使能UART模块。
2.2.1使能UART模块的时钟
使能UART模块的时钟需要通过系统控制模块(SYSCTL)来完成。例如,使能UART0模块的时钟:
//使能UART0模块的时钟
SYSCTL_RCGCUART_R|=SYSCTL_RCGCUART_R0;
2.2.2配置UART引脚
配置UART引脚需要通过GPIO模块来完成。例如,配置PA0和PA1为UART0的TX和RX引脚:
//使能GPIOPortA的时钟
SYSCTL_RCGCGPIO_R|=SYSCTL_RCGCGPIO_R0;
//配置PA0和PA1为UART0的TX和RX引脚
GPIO_PORTA_AFSEL_R|=(10)|(11);//使能复用功能
GPIO_PORTA_PCTL_R=(GPIO_PORTA_PCTL_R~(0xFFFFFFFF))|(GPIO_PCTL_PA0_U0TX|GPIO_PCTL_PA1_U0RX);
GPIO_PORTA_AMSEL_R=~(10)|(11);//禁用模拟功能
GPIO_PORTA_DEN_R|=(10)|(11);//使能数字功能
2.2.3设置波特率
设置UART的波特率需要通过UART控制寄存器来完成。例如,设置UART0的波特率为115200:
//设置UART0的波特率为115200
UART0_IBRD_R=8;//整数部分
UART0_FBRD_R=104;//小数部分
UART0_LCRH_R=(UART_LCRH_WLEN_8|UART_LCRH_FEN);//8位数据,1位停止位,无奇偶校验
2.2.4配置UART控制寄存器
配置UART控制寄存器可以设置数据位、停止位、奇偶校验等参数。例如,配置UART0为8位数据、1位停止位、无奇偶校验:
UART0_LCRH_R=(UART_LCRH_WLEN_8|UART_LCRH_FEN);//8位数据,1位停止位,无奇偶校验
2.2.5使能UART模块
使能UART模块需要通过UART控制寄存器来完成。例如,使能UART0模块:
UART0_CTL_R|=UART_CTL_UARTEN;//使能UART0
2.3UART数据发送和接收
UART数据的发送和接收通过UART数据寄存器(DR)来完成。
2.3.1发送数据
发送数据时,将数据写入UART数据寄存器(DR)。例如,发送字符’A’:
//发送字符A
UART0_DR_R=A;
2.3.2接收数据
接收数据时,从UART数据寄存器(DR)读取数据。例如,接收并处理数据:
//接收数据
charreceived_char=UART0_DR_R;
2.4UART中断配置
UART中断可以用于异步处理数据的发送和接收。配置UART中断需要以下几个步骤:
使能UART中断。
配置中断处理函数。
使能全局中断。
2.4.1使能UART中断
使能UART中断需要通过UART控制寄存器和中断控制寄存器来完成。例如
您可能关注的文档
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(1).Arduino Due 概述.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(2).ATSAM3X8E 微控制器介绍.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(3).Arduino Due 硬件架构.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(4).电源管理与供电方式.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(5).数字输入输出.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(6).模拟输入输出.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(7).通信接口:串口、SPI、I2C.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(8).高级定时器和PWM功能.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(9).外部中断.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(10).ADC与DAC功能.docx
文档评论(0)