/****************************************************************************** * Shanghai ChipON Micro-Electronic Co.,Ltd * ****************************************************************************** * $File Name$ : KF32A156_usart.h * * $Author$ : ChipON AE/FAE Group * * $Data$ : 2021-07-08 * * $Chip Version : A02 * * $AutoSAR Version : V2.0 * * $Description$ : This file contains the headers of the USART * * peripherals. * ****************************************************************************** * Copyright (C) by Shanghai ChipON Micro-Electronic Co.,Ltd * * All rights reserved. * * * * This software is copyright protected and proprietary to * * Shanghai ChipON Micro-Electronic Co.,Ltd. * ****************************************************************************** * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * REVISON HISTORY * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * Data Version Author Description * * ~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * * * * * * *****************************************************************************/ #ifndef KF32A156_USART_H_ #define KF32A156_USART_H_ #include "KF32A156.h" /* USART外设判断 ------------------------------------------------------------*/ #define CHECK_USART_ALL_PERIPH(PERIPH) (((PERIPH) == USART0_SFR) \ || ((PERIPH) == USART1_SFR) \ || ((PERIPH) == USART2_SFR) \ || ((PERIPH) == USART5_SFR)) /** 描述 USART配置信息结构体 */ typedef struct { uint32_t m_Mode; /* USART模式配置. 取值为宏“USART模式选择”中的一个 */ uint32_t m_HalfDuplexClkSource; /* 时钟源选择,取值为宏“USART时钟源选择”中的一个。*/ uint32_t m_TransferDir; /* USART传输方向,取值为宏“USART传输方向”中的一个。*/ uint32_t m_WordLength; /* USART字长配置取值为宏“USART字长”中的一个 */ uint32_t m_StopBits; /* USART停止位配置 取值为宏“USART停止位”中的一个 */ uint32_t m_Bit9SEL; /* USART发送数据第9位数据选择.取值为宏“USART发送数据第9位数据选择”中的一个 */ uint32_t m_Parity; /* USART奇偶校验位配置取值为宏“USART奇偶校验位”中的一个*/ uint32_t m_ReceiveOrder; /* USART接收次序设置为宏“接收次序选择”中的一个*/ uint32_t m_TransmitOrder; /* USART发送次序设置为宏“发送次序选择”中的一个*/ uint32_t m_BRAutoDetect; /* USART自动波特率模式设置为宏“自动波特率检测使能位”中的一个*/ uint32_t m_HardwareFlowControl; /* USART硬件流控制配置取值为宏“USART硬件流”中的一个 */ uint16_t m_BaudRateBRCKS; /* USART波特率发生器时钟选择取值为宏“USART时钟配置”中的一个 */ uint16_t m_BaudRateInteger; /* USART波特率整数部分,取值为0~65535。 */ uint16_t m_BaudRateNumerator; /* USART波特率小数分子部分,取值为0~0xF。 */ uint16_t m_BaudRateDenominator; /* USART波特率小数分母部分,取值为0~0xF。 */ } USART_InitTypeDef; /** * 描述 USART_7816配置信息结构体 */ typedef struct { uint32_t m_ErrorSignal; /* USART错误宽度, 取值为宏“USART错误宽度选择配置”中的一个 */ uint32_t m_PassagewaySelect; /* USART数据通道. 取值为宏“USART数据通道选择”中的一个 */ uint32_t m_TransmitRepeat; /* USART奇偶校验出错时重发送的最大次数, 取值为宏“USART奇偶校验出错时重发送的最大次数”中的一个 */ uint32_t m_ReceiveRepeat; /* USART奇偶校验出错时重接收的最大次数, 取值为宏“USART奇偶校验出错时重接收的最大次数”中的一个 */ FunctionalState m_Clkout; /* USB端点输入使能, 取值为TRUE或FALSE。 */ uint8_t m_ClkDiv; /* 7816工作时钟和引脚输出时钟控制, 取值为0~0xFF。 */ uint8_t m_Egt; /* 发送时插入的EGT, 取值为0~0xFF。 */ } U7816R_InitTypeDef; /** * USART错误宽度选择配置 */ #define USART_U7816R_ERRORSIGNAL_2ETU ((uint32_t)0<> 4) == 0) /** * USART中断定义 */ #define USART_IT_OVFEIE ((uint32_t)1<