Commit 43273249 authored by 时昊's avatar 时昊

:sparkles: feat:修改串口计数和数据长度

parent 138d857d
......@@ -12,8 +12,8 @@ void RTE_UART_Sleep_Init(UART_Channel_en_t enUARTCh);
/*******************************************************/
typedef struct
{
uint8_t u8UARTCount; /*发送计数*/
uint8_t u8UARTLEN; /*发送数据总长*/
uint32_t u32UARTCount; /*发送计数*/
uint32_t u32UARTLEN; /*发送数据总长*/
uint8_t u8UARTTXBusyFlag; /*发送是否忙标志 0:idle 1:busy */
uint8_t *pu8UARTDataBuf; /*要发送数据的指针*/
} UART_Ctr_st_t;
......@@ -33,8 +33,8 @@ static UART_Channel_Config_st_t stUARTCh2Cfg;
static void RTE_UART_Variate_Init(void);
static void RTE_UART_Variate_Init(void)
{
stUARTCtr0.u8UARTCount = 0U;
stUARTCtr0.u8UARTLEN = 0U;
stUARTCtr0.u32UARTCount = 0U;
stUARTCtr0.u32UARTLEN = 0U;
stUARTCtr0.u8UARTTXBusyFlag = 0U;
stUARTCtr0.pu8UARTDataBuf = 0U;
......@@ -43,8 +43,8 @@ static void RTE_UART_Variate_Init(void)
stUARTCh0Cfg.pfnUARTConfirmCallBack = 0U;
stUARTCh0Cfg.pfnUARTReadMsgCallBack = 0U;
stUARTCtr1.u8UARTCount = 0U;
stUARTCtr1.u8UARTLEN = 0U;
stUARTCtr1.u32UARTCount = 0U;
stUARTCtr1.u32UARTLEN = 0U;
stUARTCtr1.u8UARTTXBusyFlag = 0U;
stUARTCtr1.pu8UARTDataBuf = 0U;
......@@ -53,8 +53,8 @@ static void RTE_UART_Variate_Init(void)
stUARTCh1Cfg.pfnUARTConfirmCallBack = 0U;
stUARTCh1Cfg.pfnUARTReadMsgCallBack = 0U;
stUARTCtr2.u8UARTCount = 0U;
stUARTCtr2.u8UARTLEN = 0U;
stUARTCtr2.u32UARTCount = 0U;
stUARTCtr2.u32UARTLEN = 0U;
stUARTCtr2.u8UARTTXBusyFlag = 0U;
stUARTCtr2.pu8UARTDataBuf = 0U;
......@@ -288,8 +288,8 @@ void UART_Ch0_Send_Multiple_Byte(uint8_t *Data, uint8_t Len)
{
if ( UART_Ch0_Get_TX_Busy_Flag( ) == 0U )
{
stUARTCtr0.u8UARTCount = 1U;
stUARTCtr0.u8UARTLEN = Len;
stUARTCtr0.u32UARTCount = 1U;
stUARTCtr0.u32UARTLEN = Len;
stUARTCtr0.u8UARTTXBusyFlag = 1U;
stUARTCtr0.pu8UARTDataBuf = Data;
UART0_TX = stUARTCtr0.pu8UARTDataBuf [ 0U ];
......@@ -299,8 +299,8 @@ void UART_Ch1_Send_Multiple_Byte(uint8_t *Data, uint8_t Len)
{
if ( UART_Ch1_Get_TX_Busy_Flag( ) == 0U )
{
stUARTCtr1.u8UARTCount = 1U;
stUARTCtr1.u8UARTLEN = Len;
stUARTCtr1.u32UARTCount = 1U;
stUARTCtr1.u32UARTLEN = Len;
stUARTCtr1.u8UARTTXBusyFlag = 1U;
stUARTCtr1.pu8UARTDataBuf = Data;
UART1_TX = stUARTCtr1.pu8UARTDataBuf [ 0U ];
......@@ -310,8 +310,8 @@ void UART_Ch2_Send_Multiple_Byte(uint8_t *Data, uint8_t Len)
{
if ( UART_Ch2_Get_TX_Busy_Flag( ) == 0U )
{
stUARTCtr2.u8UARTCount = 1U;
stUARTCtr2.u8UARTLEN = Len;
stUARTCtr2.u32UARTCount = 1U;
stUARTCtr2.u32UARTLEN = Len;
stUARTCtr2.u8UARTTXBusyFlag = 1U;
stUARTCtr2.pu8UARTDataBuf = Data;
UART2_TX = stUARTCtr2.pu8UARTDataBuf [ 0U ];
......@@ -419,9 +419,9 @@ void UART_CH3_RX_ISR(void)
void UART_CH0_TX_ISR(void)
{
INTC_ClearPendingIRQ(ST0_IRQn);
if ( stUARTCtr0.u8UARTCount < stUARTCtr0.u8UARTLEN )
if ( stUARTCtr0.u32UARTCount < stUARTCtr0.u32UARTLEN )
{
UART0_TX = stUARTCtr0.pu8UARTDataBuf [ stUARTCtr0.u8UARTCount++ ];
UART0_TX = stUARTCtr0.pu8UARTDataBuf [ stUARTCtr0.u32UARTCount++ ];
}
else
{
......@@ -435,9 +435,9 @@ void UART_CH0_TX_ISR(void)
void UART_CH1_TX_ISR(void)
{
INTC_ClearPendingIRQ(ST1_IRQn);
if ( stUARTCtr1.u8UARTCount < stUARTCtr1.u8UARTLEN )
if ( stUARTCtr1.u32UARTCount < stUARTCtr1.u32UARTLEN )
{
UART1_TX = stUARTCtr1.pu8UARTDataBuf [ stUARTCtr1.u8UARTCount++ ];
UART1_TX = stUARTCtr1.pu8UARTDataBuf [ stUARTCtr1.u32UARTCount++ ];
}
else
{
......@@ -451,9 +451,9 @@ void UART_CH1_TX_ISR(void)
void UART_CH2_TX_ISR(void)
{
INTC_ClearPendingIRQ(ST2_IRQn);
if ( stUARTCtr2.u8UARTCount < stUARTCtr2.u8UARTLEN )
if ( stUARTCtr2.u32UARTCount < stUARTCtr2.u32UARTLEN )
{
UART2_TX = stUARTCtr2.pu8UARTDataBuf [ stUARTCtr2.u8UARTCount++ ];
UART2_TX = stUARTCtr2.pu8UARTDataBuf [ stUARTCtr2.u32UARTCount++ ];
}
else
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment