当收接和控制条件为真时,接收缓存装入当前接收到的字符。当接收和控制条件为真时接收数据缓存结果。
<6> U1TXBUF 发送数据缓存
发送缓存内容可以传至发送移位寄存器,然后由 UTXD1传输。对发送缓存进行写操作可以复位 UTXIFG1。如果传输出 7 位数据,发送缓存内容最高为 0。
3)异步模式(UART)的选择
MSP430F149单片机支持两种不同的串行协议,异步通信(UART)协议和同步通信(SPI)协议。这两种协议的选择是通过控制寄存器中的SYNC位来决定的。
本设计中主要是利用MSP430的异步通信(UART)模式原理实现单片机与终端设备之间的串口通信的。
MSP430控制寄存器内的信息决定了USART的基本操作,选择异步模式(UART)需要通过设置SYNC=0来实现;本设计中对于其他控制位的设置还有:设置CHAR=1,选择字符长度为8位;设置SP=0,选择停止位1位;设置PENA=0,不允许校验;设置MM=1,选择地址位多机模式协议。控制位的选择基本上决定了系统的通信方式和通信格式。
4)UART模块的特点
实现两个串口通信只需要设置适当的寄存器就可以使串口工作起来,串口采用中断方式,当接收有数据时,设置一个标志通知主程序有数据到来,当主程序有数据要发送时,设置一个中断标志进入中断发送数据。本设计选用串口1进行串口扩展与通讯。
在异步模式下,接收部分自身实现帧的同步,通信双方只要使用相同的波特率即可。异步模式的帧格式有1位起始位、7位或8位数据位,校验位,1位地址位,1或2位停止位构成。在异步模式下,MSP430支持两种多机模式:线路空闲多机模式和地址位多机模式。线路空闲模式下,数据块被一段空闲的时间分割。在字符的第一个停止位之后收到10个以上的1,表示检测到线路空闲;如果采用两个停止位,则第二个停止位被认为是空闲周期的第一个信号。在使用地址位多机模式时,字符包含一个附加的位作为地址标识,数据快的第一个字符带有一个置位的地址位,用以表明该字符是一个地址。由于已经设置了控制寄存器中的MM=1,故在本设计中选择了地址位多机模式。
下面是UART通信的一些特点:
<1> 异步通讯模式,包括线路空闲/地址位通信协议。
<2> 有两个单独的移位寄存器,输入/输出移位寄存器。
<3> 传输7位或8位数据,可采用奇偶或无校验。
<4> 可编程实现波特率调整。
<5> 分别发,收单独中断。
<6> 有效地检测到起始位实现从低功耗唤醒。
<7> 状态标志检测错误或者地址位。
2.2.2 MSP430f149 I/O端口介绍
MSP430的端口有P1、P2、P3、P4、P5、P6、S和COM(型号不同,包含的端口也不仅 相同,如MSP430X11X系列只有P1,P2端口,而MSP430X4XX系列则包含全部上述端口),它们都可以直接用于输入/输出。MSP430系 统中没有专门的输入/输出指令,输入/输出操作通过传送指令来实现。端口P1~P6的每一位都可以独立用于输入/输出,即具有位寻址功能。常见的键盘接口 可以直接用端口进行模拟,用查询或者中断方式控制。由于MSP430的端口只有数据口,没有状态口或控制口,在实际应用中,如在查询式输入/输出传送时, 可以用端口的某一位或者几位来传送状态信息,通过查询对应位的状态来确定外设是否处于“准备好”状态。
端口的功能:
(1)P1,P2端口: I/O,中断功能,其他片内外设功能如定时器、比较器;
(2)P3,P4P5P6端口:I/O,其他片内外设功能如SPI、UART模式,A/D转换等; 基于SP2349的多串口系统设计+电路图(5):http://www.751com.cn/zidonghua/lunwen_2951.html