From 3a46da6a97004fefad370dda9db06211fba275bb Mon Sep 17 00:00:00 2001 From: Lizongdi <1210855344@qq.com> Date: Wed, 15 Jul 2026 10:32:26 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E9=81=97=E7=95=99=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E3=80=91=E5=8F=91=E5=BF=AB=E4=BA=86=E4=BC=9A=E5=9B=9E=E6=98=BE?= =?UTF-8?q?=E4=B9=B1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bspMCU/bsp_uart.c | 2 +- project/Spoolend/Spoolend.c | 107 +++++++++++++++++++----------------- 2 files changed, 59 insertions(+), 50 deletions(-) diff --git a/bspMCU/bsp_uart.c b/bspMCU/bsp_uart.c index bc53450..3312963 100644 --- a/bspMCU/bsp_uart.c +++ b/bspMCU/bsp_uart.c @@ -21,8 +21,8 @@ static TUartTab g_ptUartTab[] = { {&hlpuart1, NULL}, {&huart1, NULL}, {&huart2, NULL}, -#ifdef IOC_100PIN {&huart3, NULL}, +#ifdef IOC_100PIN {&huart4, NULL}, {&huart5, NULL}, {&huart6, NULL}, diff --git a/project/Spoolend/Spoolend.c b/project/Spoolend/Spoolend.c index 4bab303..6c4086a 100644 --- a/project/Spoolend/Spoolend.c +++ b/project/Spoolend/Spoolend.c @@ -72,14 +72,18 @@ static int RS485_2_Send(char *_pBuffer, uint32_t _iSize) #ifndef CONFIG_UART_IT_IDLEDMA void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { - if (huart->Instance == LPUART1) + if (huart->Instance == USART1) { UART_RX_IRQHandler(g_ptRS485_1); } - else if (huart->Instance == USART1) + else if (huart->Instance == USART3) { UART_RX_IRQHandler(g_ptRS485_2); } + else if (huart->Instance == LPUART1) + { + //UART_RX_IRQHandler(g_ptRS485_2); + } } #endif @@ -100,12 +104,12 @@ static int check_Spoolend(char *_pBuffer, uint32_t _iSize) static void decode_RS485_1(const char *_pBuffer, uint32_t _iSize) { - rd_ComSend(g_ptRS485_1, (char *)_pBuffer, _iSize); + rd_ComWrite(g_ptRS485_1, (char *)_pBuffer, _iSize); } static void decode_RS485_2(const char *_pBuffer, uint32_t _iSize) { - rd_ComSend(g_ptRS485_2, (char *)_pBuffer, _iSize); + rd_ComWrite(g_ptRS485_2, (char *)_pBuffer, _iSize); } static void decode_Spoolend(const char *_pBuffer, uint32_t _iSize) @@ -136,42 +140,42 @@ void HAL_FDCAN_RxFifo0Callback(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo0ITs) } } -void Myprint_Init(void) -{ - TUartUserData *ptUartUserData = UART_userdata_init(1, 115200, 4096); - g_ptRS485_2 = rd_ComCreate(NULL, NULL, RS485_2_Send, ptUartUserData->m_buf_size, ptUartUserData); - UART_IT_init(g_ptRS485_2); -} - -int Myprint_putchar(uint8_t ch) -{ - char tx_buf[2]; - - if (ch == '\n') - { - // 遇到换行,发送 \r\n - tx_buf[0] = '\r'; - tx_buf[1] = '\n'; - if (rd_ComSend(g_ptRS485_2, tx_buf, 2) < 0) return EOF; - return 2; - } - else - { - // 普通字符 - tx_buf[0] = ch; - if (rd_ComSend(g_ptRS485_2, tx_buf, 1) < 0) return EOF; - return 1; - } -} +//void Myprint_Init(void) +//{ +// TUartUserData *ptUartUserData = UART_userdata_init(3, 115200, 4096); +// g_ptRS485_2 = rd_ComCreate(NULL, NULL, RS485_1_Send, ptUartUserData->m_buf_size, ptUartUserData); +// UART_IT_init(g_ptRS485_2); +//} +// +//int Myprint_putchar(uint8_t ch) +//{ +// char tx_buf[2]; +// +// if (ch == '\n') +// { +// // 遇到换行,发送 \r\n +// tx_buf[0] = '\r'; +// tx_buf[1] = '\n'; +// if (rd_ComSend(g_ptRS485_2, tx_buf, 2) < 0) return EOF; +// return 2; +// } +// else +// { +// // 普通字符 +// tx_buf[0] = ch; +// if (rd_ComSend(g_ptRS485_2, tx_buf, 1) < 0) return EOF; +// return 1; +// } +//} void SpoolendInit(void) { - TUartUserData *ptUartUserData = UART_userdata_init(0, 115200, 512); - g_ptRS485_1 = rd_ComCreate(check_RS485_1, decode_RS485_1, RS485_1_Send, ptUartUserData->m_buf_size, ptUartUserData); + TUartUserData *ptUartUserData = UART_userdata_init(1, 115200, 512); + g_ptRS485_1 = rd_ComCreate(check_RS485_2, decode_RS485_2, RS485_2_Send, ptUartUserData->m_buf_size, ptUartUserData); UART_IT_init(g_ptRS485_1); -// TUartUserData *ptUartUserData1 = UART_userdata_init(0, 115200, 512); -// g_ptRS485_2 = rd_ComCreate(check_RS485_2, decode_RS485_2, RS485_2_Send, ptUartUserData1->m_buf_size, ptUartUserData1); -// UART_IT_init(g_ptRS485_2); + TUartUserData *ptUartUserData1 = UART_userdata_init(3, 115200, 512); + g_ptRS485_2 = rd_ComCreate(check_RS485_1, decode_RS485_1, RS485_1_Send, ptUartUserData1->m_buf_size, ptUartUserData1); + UART_IT_init(g_ptRS485_2); TCANUserData *ptCANUserData = CAN_userdata_init(&hfdcan1, 8, 0); g_ptFDCAN1 = rd_ComCreate(check_Spoolend, decode_Spoolend, FDCAN1_Send, CONFIG_UART_BUFFER_SIZE, ptCANUserData); CAN_IT_init(g_ptFDCAN1); @@ -180,25 +184,30 @@ void SpoolendInit(void) void SpoolendTask(void) { char pcBuffer1[52] = {0}; -// char pcBuffer2[52] = {0}; + char pcBuffer2[52] = {0}; char pcBuffer3[52] = {0}; __disable_irq(); rd_ComRead(g_ptRS485_1, pcBuffer1, sizeof(pcBuffer1)); -// rd_ComRead(g_ptRS485_2, pcBuffer2, sizeof(pcBuffer2)); + rd_ComRead(g_ptRS485_2, pcBuffer2, sizeof(pcBuffer2)); rd_ComRead(g_ptFDCAN1, pcBuffer3, sizeof(pcBuffer3)); __enable_irq(); - printf("Hello world\n"); - HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin); - HAL_GPIO_TogglePin(LED2_GPIO_Port, LED2_Pin); - HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin); - -// HAL_GPIO_TogglePin(K1_GPIO_Port, K1_Pin); -// HAL_GPIO_TogglePin(K2_GPIO_Port, K2_Pin); -// HAL_GPIO_TogglePin(K3_GPIO_Port, K3_Pin); -// HAL_GPIO_TogglePin(K4_GPIO_Port, K4_Pin); -// HAL_GPIO_TogglePin(K5_GPIO_Port, K5_Pin); +// rd_ComWrite(g_ptRS485_1, "Hello\n", 6); +// rd_ComWrite(g_ptRS485_2, "Hello\n", 6); +// rd_ComIDWrite(g_ptFDCAN1, 1, "Hello\n", 6); + + HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin); + HAL_GPIO_TogglePin(LED2_GPIO_Port, LED2_Pin); + HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin); + HAL_GPIO_TogglePin(K1_GPIO_Port, K1_Pin); + HAL_GPIO_TogglePin(K2_GPIO_Port, K2_Pin); + HAL_GPIO_TogglePin(K3_GPIO_Port, K3_Pin); + HAL_GPIO_TogglePin(K4_GPIO_Port, K4_Pin); + HAL_GPIO_TogglePin(K5_GPIO_Port, K5_Pin); + + rd_ComSendProc(g_ptRS485_1); + rd_ComSendProc(g_ptRS485_2); rd_ComSendProc(g_ptFDCAN1); - HAL_Delay(500); + HAL_Delay(10); }