- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MSP430g2553串口通信讲述
MSP430g2553串口通信
图1.1 MSP430G2553引脚图
MSP430的不同型号,其串行通讯工作模式是一样的。以MSP430G2553为例进行说明。MSP430G2553是20个引脚的16位单片机。具有内置的16位定时器、16k的FLASH和512B的RAM,以及一个通用型模拟比较器以及采用通用串行通信接口的内置通信能力。此外还具有一个10位的模数(A/D)转换器。其引脚排布如图1.1所示。其功能表如表1.1所示。
串行通讯模块主要由三个部分组成:波特率生成部分、发送控制器以及接收控制器。如图1.2所示。
图1.2 串行通讯模块内部结构图
一、UART模式
在异步模式下,接收器自身实现帧的同步,外部的通讯设备并不使用这一时钟。波特率的产生是在本地完成的。异步帧格式由1个起始位、7或8个数据位、校验位(奇/偶/无)、1个地址位、和1或2个停止位。一般最小帧为9个位,最大为13位。
(一)UART的初始化
单片机工作的时钟源来自内部三个时钟或者外部输入时钟,由SSEL1、SSEL0,以决定最终进入模块的时钟信号BRCLK的频率。所以配置串行通讯的第一步就是选择时钟。
通过选择时钟源和波特率寄存器的数据来确定位周期。所以波特率的配置是串行通讯中最重要的一部分。波特率设置用三个寄存器实现:UxBR0(选择控制器0):波特率发生器分频系数低8位。UxBR1(选择控制器1):波特率发生器分频系数高8位。UxMCTL
数据传输的格式,以及数据传输的模式是通过配置控制寄存器UCTL来进行设置。
接收控制部分和发送控制部分。首先需要串行口进行配置、使能以及开启中断。串口接收数据一般采用中断方式,发送数据采用主动发送。当接收到一个完整的数据,产生一个信号:URXIFG0=1(类似于51单片机的接收中断标志位),表示接收完整的数据。当数据正在发送中,UTXIFG0=1,此时不能再发送数据,必须等当前数据发送完毕(UTXIFG0=0)才能进行发送。程序实例如下:
Void UART_init()
{
??WDTCTL = WDTPW + WDTHOLD;?
?P1SEL|= 0x06; //I/O口的功能寄存器配置。为1时作为模块输出或者输出,0为端口输入或者输出。配置P1.1,P1.2为串行口。
P2DIR=0x04; //串口发送端为输出,串口接收端为输入。0为输入,1为输出
U0CTL |= CHAR;????????????????????????????// 配置控制寄存器,数据类型为8位。
??U0TCTL |= SSEL0;?????????????????????????// 选择时钟UCLK= ACLK。
??U0BR0 = 0x45;????????????????????????????// 分频系数的高8位,8MHz 时钟下波特率为115200
??U0BR1 = 0x00;????????????????????????????// 分频系数的低8位。
??U0MCTL = 0x00;?????????????????????????// 波特率的调整。
??U0CTL= ~SWRST;???????????????? //系统复位。只有对SWRST 复位,USART 才能重新被允许。而接收和发送允许标志URXE和UTXE不会因SWRST 而更改。
??ME1 |= UTXE0 + URXE0;??????????//使能 USART0 TXD/RXD模块USART中特有的使能配置。
??IE1 |= URXIE0;????????????????????????? //使能USART0 接收中断
?_EINT(); //开启全部中断。
_BIS_SR(LPM0_bits + GIE);?????// 初始化完毕,进入睡眠状态。等待工作。该程序直接调用。
}
发送数据函数:
__interrupt void usart0_rx (void){
?? while (!(IFG1 UTXIFG0));????????????????// 判断发送缓冲区是否为空。
?? TXBUF0 = RXBUF0;??????????????????????????// 将数据发送到串口。
}
二、SPI模式
???USTAR下的SPI模式有如下特点:
1、SPI模式支持3线和4线模式;
2、支持主机与从机模式;
3、接受和发送有各自独立的发送移位寄存器和缓冲器;
4、接受和发送都有独立的中断能力;
5、移位时钟的极性和相位可编程;
6、字符长度可以是7位或者8位。
SPI工作在全双工下,即主机发送的同时也接收数据,传
文档评论(0)