|
|
|
@ -37,14 +37,7 @@ extern TComCtrl *g_ptUartCtrl; |
|
|
|
/*----------------------------------------------*
|
|
|
|
* 全局变量 * |
|
|
|
*----------------------------------------------*/ |
|
|
|
TComCtrl *g_ptrs485_1 = NULL; |
|
|
|
TComCtrl *g_ptrs485_2 = NULL; |
|
|
|
TComCtrl *g_ptrs485_3 = NULL; |
|
|
|
TComCtrl *g_ptrs485_4 = NULL; |
|
|
|
TComCtrl *g_ptlte_7S0 = NULL; |
|
|
|
TComCtrl *g_ptSbus = NULL; |
|
|
|
TComCtrl *g_ptInterCall = NULL; |
|
|
|
TComCtrl *g_ptlpuart = NULL; |
|
|
|
TComCtrl *g_apstUart[COM_MAX] = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}; |
|
|
|
|
|
|
|
TComCtrl *g_ptCAN1 = NULL; |
|
|
|
TComCtrl *g_ptCAN2 = NULL; |
|
|
|
@ -65,7 +58,7 @@ CV_struct_define g_stCV = {0}; |
|
|
|
int RS485_1_Send(char *_pBuffer, uint32_t _iSize) |
|
|
|
{ |
|
|
|
HAL_GPIO_WritePin(RS485_1_DIR_GPIO_Port, RS485_1_DIR_Pin, GPIO_PIN_SET); |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_ptrs485_1->m_pUserData; |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_apstUart[COM_RS485_1]->m_pUserData; |
|
|
|
int iRet = HAL_UART_Transmit(ptUartUserData->m_uart, (uint8_t *)_pBuffer, _iSize, 100); |
|
|
|
HAL_GPIO_WritePin(RS485_1_DIR_GPIO_Port, RS485_1_DIR_Pin, GPIO_PIN_RESET); |
|
|
|
return iRet; |
|
|
|
@ -73,7 +66,7 @@ int RS485_1_Send(char *_pBuffer, uint32_t _iSize) |
|
|
|
|
|
|
|
int LTE_7S0_Send(char *_pBuffer, uint32_t _iSize) |
|
|
|
{ |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_ptlte_7S0->m_pUserData; |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_apstUart[COM_LTE_7S0]->m_pUserData; |
|
|
|
int iRet = HAL_UART_Transmit(ptUartUserData->m_uart, (uint8_t *)_pBuffer, _iSize, 100); |
|
|
|
return iRet; |
|
|
|
} |
|
|
|
@ -81,7 +74,7 @@ int LTE_7S0_Send(char *_pBuffer, uint32_t _iSize) |
|
|
|
int RS485_2_Send(char *_pBuffer, uint32_t _iSize) |
|
|
|
{ |
|
|
|
HAL_GPIO_WritePin(RS485_2_DIR_GPIO_Port, RS485_2_DIR_Pin, GPIO_PIN_SET); |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_ptrs485_2->m_pUserData; |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_apstUart[COM_RS485_2]->m_pUserData; |
|
|
|
int iRet = HAL_UART_Transmit(ptUartUserData->m_uart, (uint8_t *)_pBuffer, _iSize, 100); |
|
|
|
HAL_GPIO_WritePin(RS485_2_DIR_GPIO_Port, RS485_2_DIR_Pin, GPIO_PIN_RESET); |
|
|
|
return iRet; |
|
|
|
@ -89,14 +82,14 @@ int RS485_2_Send(char *_pBuffer, uint32_t _iSize) |
|
|
|
|
|
|
|
int InterCall_Send(char *_pBuffer, uint32_t _iSize) |
|
|
|
{ |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_ptInterCall->m_pUserData; |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_apstUart[COM_INTERCALL]->m_pUserData; |
|
|
|
int iRet = HAL_UART_Transmit(ptUartUserData->m_uart, (uint8_t *)_pBuffer, _iSize, 100); |
|
|
|
return iRet; |
|
|
|
} |
|
|
|
|
|
|
|
int E28_SBUS_Send(char *_pBuffer, uint32_t _iSize) |
|
|
|
{ |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_ptSbus->m_pUserData; |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_apstUart[COM_SBUS]->m_pUserData; |
|
|
|
int iRet = HAL_UART_Transmit(ptUartUserData->m_uart, (uint8_t *)_pBuffer, _iSize, 100); |
|
|
|
return iRet; |
|
|
|
} |
|
|
|
@ -104,7 +97,7 @@ int E28_SBUS_Send(char *_pBuffer, uint32_t _iSize) |
|
|
|
int RS485_3_Send(char *_pBuffer, uint32_t _iSize) |
|
|
|
{ |
|
|
|
HAL_GPIO_WritePin(RS485_3_DIR_GPIO_Port, RS485_3_DIR_Pin, GPIO_PIN_SET); |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_ptrs485_3->m_pUserData; |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_apstUart[COM_RS485_3]->m_pUserData; |
|
|
|
int iRet = HAL_UART_Transmit(ptUartUserData->m_uart, (uint8_t *)_pBuffer, _iSize, 100); |
|
|
|
HAL_GPIO_WritePin(RS485_3_DIR_GPIO_Port, RS485_3_DIR_Pin, GPIO_PIN_RESET); |
|
|
|
return iRet; |
|
|
|
@ -113,7 +106,7 @@ int RS485_3_Send(char *_pBuffer, uint32_t _iSize) |
|
|
|
int RS485_4_Send(char *_pBuffer, uint32_t _iSize) |
|
|
|
{ |
|
|
|
HAL_GPIO_WritePin(RS485_4_DIR_GPIO_Port, RS485_4_DIR_Pin, GPIO_PIN_SET); |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_ptrs485_4->m_pUserData; |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_apstUart[COM_RS485_4]->m_pUserData; |
|
|
|
int iRet = HAL_UART_Transmit(ptUartUserData->m_uart, (uint8_t *)_pBuffer, _iSize, 100); |
|
|
|
HAL_GPIO_WritePin(RS485_4_DIR_GPIO_Port, RS485_4_DIR_Pin, GPIO_PIN_RESET); |
|
|
|
return iRet; |
|
|
|
@ -121,7 +114,7 @@ int RS485_4_Send(char *_pBuffer, uint32_t _iSize) |
|
|
|
|
|
|
|
int LPUART_Send(char *_pBuffer, uint32_t _iSize) |
|
|
|
{ |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_ptlpuart->m_pUserData; |
|
|
|
TUartUserData *ptUartUserData = (TUartUserData *)g_apstUart[COM_LPUART]->m_pUserData; |
|
|
|
int iRet = HAL_UART_Transmit(ptUartUserData->m_uart, (uint8_t *)_pBuffer, _iSize, 100); |
|
|
|
return iRet; |
|
|
|
} |
|
|
|
@ -141,39 +134,39 @@ void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) |
|
|
|
{ |
|
|
|
if (huart->Instance == USART1) |
|
|
|
{ |
|
|
|
UART_RX_IRQHandler(g_ptrs485_1); |
|
|
|
UART_RX_IRQHandler(g_apstUart[COM_RS485_1]); |
|
|
|
} |
|
|
|
else if (huart->Instance == USART2) |
|
|
|
{ |
|
|
|
UART_RX_IRQHandler(g_ptlte_7S0); |
|
|
|
UART_RX_IRQHandler(g_apstUart[COM_LTE_7S0]); |
|
|
|
} |
|
|
|
else if (huart->Instance == USART3) |
|
|
|
{ |
|
|
|
#ifdef USE_PRINT |
|
|
|
UART_RX_IRQHandler(g_ptUartCtrl); |
|
|
|
#else |
|
|
|
UART_RX_IRQHandler(g_ptrs485_2); |
|
|
|
UART_RX_IRQHandler(g_apstUart[COM_RS485_2]); |
|
|
|
#endif |
|
|
|
} |
|
|
|
else if (huart->Instance == UART4) |
|
|
|
{ |
|
|
|
UART_RX_IRQHandler(g_ptInterCall); |
|
|
|
UART_RX_IRQHandler(g_apstUart[COM_INTERCALL]); |
|
|
|
} |
|
|
|
else if (huart->Instance == UART5) |
|
|
|
{ |
|
|
|
UART_RX_IRQHandler(g_ptSbus); |
|
|
|
UART_RX_IRQHandler(g_apstUart[COM_SBUS]); |
|
|
|
} |
|
|
|
else if (huart->Instance == USART6) |
|
|
|
{ |
|
|
|
UART_RX_IRQHandler(g_ptrs485_3); |
|
|
|
UART_RX_IRQHandler(g_apstUart[COM_RS485_3]); |
|
|
|
} |
|
|
|
else if (huart->Instance == UART7) |
|
|
|
{ |
|
|
|
UART_RX_IRQHandler(g_ptrs485_4); |
|
|
|
UART_RX_IRQHandler(g_apstUart[COM_RS485_4]); |
|
|
|
} |
|
|
|
else if (huart->Instance == LPUART1) |
|
|
|
{ |
|
|
|
UART_RX_IRQHandler(g_ptlpuart); |
|
|
|
UART_RX_IRQHandler(g_apstUart[COM_LPUART]); |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
@ -232,7 +225,7 @@ void lpuart_task(void *argument) |
|
|
|
|
|
|
|
while(1) |
|
|
|
{ |
|
|
|
rd_ComRead(g_ptlpuart, pcBuffer, 64); |
|
|
|
rd_ComRead(g_apstUart[COM_LPUART], pcBuffer, 64); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -252,7 +245,7 @@ void Sbus_task(void *argument) |
|
|
|
|
|
|
|
while (1) |
|
|
|
{ |
|
|
|
rd_ComRead(g_ptSbus, pcBuffer, 25); |
|
|
|
rd_ComRead(g_apstUart[COM_SBUS], pcBuffer, 25); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -262,7 +255,7 @@ void rs485_1_task(void *argument) |
|
|
|
|
|
|
|
while(1) |
|
|
|
{ |
|
|
|
rd_ComRead(g_ptrs485_1, pcBuffer, 64); |
|
|
|
rd_ComRead(g_apstUart[COM_RS485_1], pcBuffer, 64); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|