/**
 * @brief UART-发送数据
 * @details
 * 1. 初始化串口波特兰 115200
 * 2. 串口数据长度8位 停止位1位 MSL 关闭校验
 * 3. 串口发送数据0x50
 */
#include "lks32mc09x_lib.h"
volatile int baud = 115200;    // 设定波特率
volatile int refbaud = 115200; // 实际波特率
volatile int sendflg = 0;      // 设定波特率
volatile int data = 0xa0;      // 要发送的数据
int main(void)
{
    __disable_irq();
    SYS_WR_PROTECT = 0x7a83;
    SYS_CLK_CFG = 0x1ff;
    SYS_WR_PROTECT = 0;
    UART_InitTypeDef UART_InitType;
    UART_StructInit(&UART_InitType);
    UART_InitType.BaudRate = baud;                 ///< 波特率
    UART_InitType.WordLength = UART_WORDLENGTH_8b; ///< 数据长度
    UART_InitType.StopBits = UART_STOPBITS_1b;     ///< 停止位长度
    UART_InitType.FirstSend = UART_FIRSTSEND_MSB;  ///< 发送数据大小端设置
    UART_InitType.ParityMode = UART_Parity_NO;     ///< 奇偶校验
    UART_InitType.MultiDropEna = 0;                ///< 使能Multi-drop, 0:Disable 1:Enable
    UART_InitType.Bit9Value = 0;                   ///< Multi-drop Master模式时, 第9个数据位值
    UART_InitType.DUPLEX = 0;                      ///< 双工选择, 0:全双工 1:半双工
    UART_InitType.Match485Addr = 0;                ///< 用作485通信时的匹配地址
    UART_InitType.IRQEna = 0;                      ///< 中断使能寄存器
    UART_InitType.DMARE = 0;                       ///< DMA 请求使能
    UART_InitType.RXD_INV = 0;                     ///< 接收电平取反
    UART_InitType.TXD_INV = 0;                     ///< 发送电平取反
    UART_Init(UART0, &UART_InitType);
    GPIO_Config(GPIO0, GPIO_PinSource_0, GPIO_Mode_OUT, GPIO_AF_UART);
    for (;;)
    {
        refbaud = UART_SetBaud(UART0, baud);
        if (sendflg)
        {
            UART_SendData(UART0, data);
            sendflg = 0;
        }
    }
}

