准备电赛——CCS-MSP430F5529——串口相关函数总结

USCI_A_UART的配置和控制函数:

//初始化函数(有返回值)

USCI_A_UART_init(uint16_t baseAddress, USCI_A_UART_initParam ∗param)

//使能UART模块

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)

参数:baseAddress
是USCI_A_UART模块的基地址:包括(USCI_A0_BASE 或 USCI_A1_BASE)

参数:USCI_A_UART_initParam ∗param结构体

USCI_A_UART_initParam param1 = {0};
    param1.selectClockSource = USCI_A_UART_CLOCKSOURCE_SMCLK;
    param1.clockPrescalar = 6;
    param1.firstModReg = 13;
    param1.secondModReg = 0;
    param1.parity = USCI_A_UART_NO_PARITY;                                       //没有奇偶校验位
    param1.msborLsbFirst = USCI_A_UART_LSB_FIRST;                                //控制接收和发送移位寄存器的方向。
    param1.numberofStopBits = USCI_A_UART_ONE_STOP_BIT;                          //表示1 / 2个停止位
    param1.uartMode = USCI_A_UART_MODE;                                             //选择操作模式
    param1.overSampling = USCI_A_UART_OVERSAMPLING_BAUDRATE_GENERATION;             //低频或过采样波特产生

其中的clockPrescalar,firstModReg,secondModReg,overSampling
可在MSP430 USCI/EUSCI UART Baud Rate Calculation中获取

用于发送和接收数据的函数

//通过UART模块传输一个字节

USCI_A_UART_transmitData(uint16_t baseAddress, uint8_t transmitData)

//接收一个已发送到UART模块的字节。(有返回值)

USCI_A_UART_receiveData(uint16_t baseAddress)

//根据选定的多处理器模式,将下一个要传输的字节标记为地址

USCI_A_UART_transmitAddress(uint16_t baseAddress, uint8_t transmitAddress)

//传输中断

USCI_A_UART_transmitBreak(uint16_t baseAddress)

参数:transmitData
UART模块要传输的数据

参数:transmitAddress
is the next byte to be transmitted

管理USCI_A_UART中断和状态的函数:

//启用UART中断

USCI_A_UART_enableInterrupt(uint16_t baseAddress, uint8_t mask)

//失能UART中断

USCI_A_UART_disableInterrupt(uint16_t baseAddress, uint8_t mask)

//获取当前UART中断状态。这将根据传递的标志返回UART模块的中断状态(有返回值)

USCI_A_UART_getInterruptStatus(uint16_t baseAddress, uint8_t mask)

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

USCI_A_UART_clearInterrupt(uint16_t baseAddress, uint8_t mask)

//获取当前UART状态标志。这将根据传递的标志返回UART模块的状态。(有返回值)

USCI_A_UART_queryStatusFlags(uint16_t baseAddress, uint8_t mask)

参数:mask

USCI_A_UART_enableInterrupt、
USCI_A_UART_disableInterrupt:

USCI_A_UART_RECEIVE_INTERRUPT	// - Receive interrupt
USCI_A_UART_TRANSMIT_INTERRUPT	// - Transmit interrupt
USCI_A_UART_RECEIVE_ERRONEOUSCHAR_INTERRUPT	// - Receive erroneous-character interrupt enable
USCI_A_UART_BREAKCHAR_INTERRUPT	// - Receive break character interrupt enable
USCI_A_UART_getInterruptStatus、
USCI_A_UART_clearInterrupt:

USCI_A_UART_RECEIVE_INTERRUPT_FLAG	// - Receive interrupt flag
USCI_A_UART_TRANSMIT_INTERRUPT_FLAG	// - Transmit interrupt flag
USCI_A_UART_queryStatusFlags:

USCI_A_UART_LISTEN_ENABLE
USCI_A_UART_FRAMING_ERROR
USCI_A_UART_OVERRUN_ERROR
USCI_A_UART_PARITY_ERROR
USCI_A_UART_BREAK_DETECT
USCI_A_UART_RECEIVE_ERROR
USCI_A_UART_ADDRESS_RECEIVED
USCI_A_UART_IDLELINE
USCI_A_UART_BUSY

DMA相关:

//返回UART DMA模块的RX缓冲区地址(有返回值)

USCI_A_UART_getReceiveBufferAddressForDMA(uint16_t baseAddress)

//返回UART DMA模块的TX缓冲区地址(有返回值)

USCI_A_UART_getTransmitBufferAddressForDMA(uint16_t baseAddress)

本篇介绍了UART的所有函数,下一篇将详细介绍这些有返回值的一些函数

  • 32
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值