(四)串口

一、MSP430单片机串口概述

MSP430具有2个串口,分别为USCI_A0和USCI_A1。

USCI_A0_BASE:P3.3, P3.4 = USCI_A0 TXD/RXD (板上空闲的)

USCI_A1_BASE:P4.4, P4.5 = USCI_A1 TXD/RXD (USB是该串口)

二、串口相关函数

(1)UART配置和控制的相关函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
USCI_A_UART_init(uint16_t baseAddress, USCI_A_UART_initParam ∗param)
//初始化函数

USCI_A_UART_enable(uint16_t baseAddress)
//使能UART模块

USCI_A_UART_disable(uint16_t baseAddress)
//失能UART模块

USCI_A_UART_setDormant(uint16_t baseAddress)
//将UART模块设置为休眠模式

USCI_A_UART_resetDormant(uint16_t baseAddress)
//从休眠模式重新启用UART模块

(2)发送和接收的相关函数

1
2
3
4
5
6
7
8
9
10
11
USCI_A_UART_transmitData(uint16_t baseAddress, uint8_t transmitData)        
//通过UART模块传输一个字节

USCI_A_UART_receiveData(uint16_t baseAddress)
//接收一个已发送到UART模块的字节。

USCI_A_UART_transmitAddress(uint16_t baseAddress, uint8_t transmitAddress)
//Transmits the next byte to be transmitted marked as address depending on selected multiprocessor mode

USCI_A_UART_transmitBreak(uint16_t baseAddress)
//传输中断

(3)中断相关函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
USCI_A_UART_enableInterrupt(uint16_t baseAddress, uint8_t mask)
//启用UART中断

USCI_A_UART_disableInterrupt(uint16_t baseAddress, uint8_t mask)
//失能UART中断

USCI_A_UART_getInterruptStatus(uint16_t baseAddress, uint8_t mask)
//获取当前UART中断状态。这将根据传递的标志返回UART模块的中断状态

USCI_A_UART_clearInterrupt(uint16_t baseAddress, uint8_t mask)
//清除UART中断源,使其不再断言。当使用中断向量生成器时,最高中断标志将自动清除

USCI_A_UART_queryStatusFlags(uint16_t baseAddress, uint8_t mask)
//获取当前UART状态标志。这将根据传递的标志返回UART模块的状态。