diff --git a/Spoolend/Spoolend.c b/Spoolend/Spoolend.c index 2b73fae..740cffc 100644 --- a/Spoolend/Spoolend.c +++ b/Spoolend/Spoolend.c @@ -17,7 +17,8 @@ ******************************************************************************/ #include "bsp_uart.h" - +#include "bsp_CAN.h" +#include "fdcan.h" /*----------------------------------------------* * 外部变量说明 * *----------------------------------------------*/ @@ -36,6 +37,7 @@ TComCtrl *g_ptRS485_1; TComCtrl *g_ptRS485_2; +TComCtrl *g_ptFDCAN1; /*----------------------------------------------* * 模块级变量 * *----------------------------------------------*/ @@ -92,6 +94,11 @@ static int check_RS485_2(char *_pBuffer, uint32_t _iSize) return _iSize; } +int FDCAN1_Send(char *_pBuffer, uint32_t _iSize) +{ + return CAN_TX_FIFOQ(g_ptFDCAN1, _pBuffer[0], &_pBuffer[4], _iSize); +} + void Myprint_Init(void) { TUartUserData *ptUartUserData = UART_userdata_init(1, 115200, 4096); @@ -120,6 +127,11 @@ int Myprint_putchar(uint8_t ch) } } +static int check_Spoolend(char *_pBuffer, uint32_t _iSize) +{ + return _iSize; +} + void SpoolendInit(void) { TUartUserData *ptUartUserData = UART_userdata_init(0, 115200, 512); @@ -128,12 +140,17 @@ void SpoolendInit(void) // TUartUserData *ptUartUserData1 = UART_userdata_init(0, 115200, 512); // g_ptRS485_2 = rd_ComCreate(check_RS485_2, NULL, RS485_2_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, NULL, FDCAN1_Send, CONFIG_UART_BUFFER_SIZE, ptCANUserData); + CAN_IT_init(g_ptFDCAN1); } void SpoolendTask(void) { char pcBuffer1[52] = {0}; // char pcBuffer2[52] = {0}; + char cansend[5] = {1, 2, 3 ,4, 5}; + rd_ComIDSend(g_ptFDCAN1, 1, cansend, sizeof(cansend)); __disable_irq(); rd_ComRead(g_ptRS485_1, pcBuffer1, sizeof(pcBuffer1)); // rd_ComRead(g_ptRS485_2, pcBuffer2, sizeof(pcBuffer2));