本帖最后由 xlhtracy 于 2015-4-1 11:44 编辑
void EUSCI_A_UART_enable (uint16_t baseAddress) 启用UART模块,这将能够操作UART模块。 该函数只有1个参数:baseAddress。 参数 该函数修改UCAxCTL1寄存器的UCSWRST位。 返回值:无。
void EUSCI_A_UART_enableInterrupt (uint16_t baseAddress, uint8_t mask) 启用独立的UART中断源。 只有这个源使能启用后才能够反映到处理器中断;关闭源将不再影响到处理器。 注释:通过该函数启动中断源,才可以把中断事件产生的中标标志置位反映到处理器响应中断,进行中断,如果关闭了中断源,系统将不会把中断标志置位的信号传递给处理器,也不会响应中断。这就是为什么,总是看到,启动中断程序前都进行了中断标志位清零操作。 该函数共两个参数:baseAddress和mask。 参数 baseAddress | | | 掩码位对应的中断源将会被关闭。掩码值可以是以下量的逻辑或: EUSCI_A_UART_RECEIVE_INTERRUPT 接收中断 EUSCI_A_UART_TRANSMIT_INTERRUPT 发送中断 EUSCI_A_UART_RECEIVE_ERRONEOUSCHAR_INTERRUPT 收到错误的字符中断使能 EUSCI_A_UART_BREAKCHAR_INTERRUPT 接收间隔字符中断使能 EUSCI_A_UART_STARTBIT_INTERRUPT 起始位接收中断启用 EUSCI_A_UART_TRANSMIT_COMPLETE_INTERRUPT 发送完成中断使 |
该函数修改UCAxCTL1寄存器的UCAxIE位。 返回值:无。
uint8_t EUSCI_A_UART_getInterruptStatus (uint16_t baseAddress, uint8_t mask) 获取当前UART中断状态。 这将为UART模块返回基于其传递的标志的中断状态。 该函数共两个参数:baseAddress和mask。 参数 baseAddress | | | 返回掩码的中断标志位状态。掩码值可以是以下量的逻辑或: EUSCI_A_UART_RECEIVE_INTERRUPT_FLAG EUSCI_A_UART_TRANSMIT_INTERRUPT_FLAG EUSCI_A_UART_STARTBIT_INTERRUPT_FLAG EUSCI_A_UART_TRANSMIT_COMPLETE_INTERRUPT_FLAG |
该函数修改UCAxIFG寄存器。 返回值 下面量的逻辑或: EUSCI_A_UART_RECEIVE_INTERRUPT_FLAG EUSCI_A_UART_TRANSMIT_INTERRUPT_FLAG EUSCI_A_UART_STARTBIT_INTERRUPT_FLAG EUSCI_A_UART_TRANSMIT_COMPLETE_INTERRUPT_FLAG 指示掩码标志状态。
uint32_t EUSCI_A_UART_getReceiveBufferAddress (uint16_t baseAddress) 为DMA模块返回UART的RX缓冲器地址。 这可以结合使用DMA直接接收到的数据存储到内存。 参数 返回值:RX缓冲器地址。
uint32_t EUSCI_A_UART_getTransmitBufferAddress (uint16_t baseAddress) 为DMA模块返回UART的TX缓冲器地址。 这可以结合使用DMA直接接收到的数据存储到内存。 参数 返回值:TX缓冲器地址。
bool EUSCI_A_UART_init ( uint16 t baseAddress, EUSCI A UART initParam ∗ param ) 先进的UART模块初始化程序。 被写进clockPrescalar(前置分频器),firstModReg,secondModRge和overSampling(过采样)的参数应该提前计算好再传递给初始化函数。 注释:oversampling指的是在对模拟信号进行采样的时候,采样频率比被采样信号的最大频率成分的两倍要高,即满足奈奎斯特采样定理(fs>=fmax)。 在成功初始化UART模块前,这个函数将完成初始化该模块,单UART模块仍然是关闭的,必须使用函数EUSCI_A_UART_enable()使能启动。对于计算clockPrescalar,firstModReg,secondModReg和overSampling请使用下面链接: 根据网页提供的工具可以方便的计算出初始化用的参数。如下图所示。 参数 该函数修改寄存器UCAxCTL0的UCPEN,UCPAR,UCMSB,UC7BIT,UCSPB,UCMODEx和UCSYNC位。 返回值 STATUS_SUCCESS 或 STATUS_FAIL。 注释:如果初始化成功了,返回STATUS_SUCCESS;如果初始化写入失败了,返回STATUS_FAIL。
uint8 t EUSCI_A_UART_queryStatusFlags ( uint16 t baseAddress, uint8 t mask ) 获取当前UART状态标志。 该函数返回UART模块作为参数传送的标志位的状态。 注释:多次提到传送标志位的概念,意思就是,该函数中作为参数传送过去的标志位对应的当前状态将会作为返回值返回。 参数 baseAddress | | | 是将被返回的中断标志位状态掩码。 EUSCI_A_UART_LISTEN_ENABLE EUSCI_A_UART_FRAMING_ERROR EUSCI_A_UART_OVERRUN_ERROR EUSCI_A_UART_BREAK_DETECT EUSCI_A_UART_ADDRESS_RECEIVED EUSCI_A_UART_IDLELINE EUSCI_A_UART_BUSY |
该函数修改寄存器UCAxSTAT的位。 返回值:下面量的逻辑或。 - EUSCI_A_UART_LISTEN_ENABLE
- EUSCI_A_UART_FRAMING_ERROR
- EUSCI_A_UART_OVERRUN_ERROR
- EUSCI_A_UART_BREAK_DETECT
- EUSCI_A_UART_ADDRESS_RECEIVED
- EUSCI_A_UART_IDLELINE
- EUSCI_A_UART_BUSY
uint8_t EUSCI_A_UART_receiveData ( uint16_t baseAddress ) 接收已经发送到UART模块的一个字节。该函数从UART接收数据寄存器读取一个字节数据。 参数 该函数修改寄存器UCAxRXBUF。 返回值:返回从UART模块收到的字节,强制转换为uint8_t。 注释:函数的类型就是返回值的类型,函数内部返回值必须以函数类型返回。
void EUSCI_A_UART_resetDormant ( uint16_t baseAddress ) 从休眠模式重启UART模块。不休眠,所有接收到字符就置位UCRXIFG。
参数 该函数修改寄存器UCAxCTL1的UCDORM位。 返回值:无
void EUSCI_A_UART_selectDeglitchTime ( uint16 t baseAddress, uint16 t deglitchTime ) 设置抗尖峰脉冲时间。 参数 baseAddress | | | 抗尖峰脉冲时间可选的值有: EUSCI_A_UART_DEGLITCH_TIME_2ns EUSCI_A_UART_DEGLITCH_TIME_50ns EUSCI_A_UART_DEGLITCH_TIME_100ns EUSCI_A_UART_DEGLITCH_TIME_200ns |
返回值:无
void EUSCI_A_UART_setDormant ( uint16_t baseAddress ) 设置UART在休眠模式。在空闲线(串口线路闲置状态)或UCRXIFG置位前。 在UART自动波特率检测模式,只有断点和同步字段组合才可置位UCRXIFG(在这种模式下,触发中断的条件)。 参数 该函数修改寄存器UCAxCTL1。 返回值:无
void EUSCI_A_UART_transmitAddress ( uint16_t baseAddress, uint8_t transmitAddress ) 根据选择的多处理器模式,发送要被发送的标记为地址的下一个字节。 参数 该函数修改寄存器UCAxTXBUF和UCAxCTL1。 返回值:无
void EUSCI_A_UART_transmitBreak ( uint16_t baseAddress )
传输中断(停止,暂停,间断)。 传输中断(停止)作为下一个写入发送缓冲器。在UART的自动波特率检测模式下, EUSCI_A_UART_AUTOMATICBAUDRATE_SYNC(0x55) 必须被写进 UCAxTXBUF来生成所需的中断/同步字段。否则,默认同步(0x00)必须写入传输缓冲区。另外确保模块为发送下一个数据做好准备。
参数 该函数修改寄存器UCAxTXBUF和UCAxcTL1。 返回值:无
void EUSCI_A_UART_transmitData ( uint16_t baseAddress, uint8_t transmitData ) 从UART模块发送一个字节。 该函数放置提供的数据在UART发送数据寄存器里,并开始发送。 参数 该函数修改寄存器UCAxTXBUF。 返回:无。
|