Browse Source

CAN功能验证程序

master
Lizongdi 1 day ago
parent
commit
5216f0e56a
  1. 19
      Spoolend/Spoolend.c

19
Spoolend/Spoolend.c

@ -17,7 +17,8 @@
******************************************************************************/ ******************************************************************************/
#include "bsp_uart.h" #include "bsp_uart.h"
#include "bsp_CAN.h"
#include "fdcan.h"
/*----------------------------------------------* /*----------------------------------------------*
* * * *
*----------------------------------------------*/ *----------------------------------------------*/
@ -36,6 +37,7 @@
TComCtrl *g_ptRS485_1; TComCtrl *g_ptRS485_1;
TComCtrl *g_ptRS485_2; TComCtrl *g_ptRS485_2;
TComCtrl *g_ptFDCAN1;
/*----------------------------------------------* /*----------------------------------------------*
* * * *
*----------------------------------------------*/ *----------------------------------------------*/
@ -92,6 +94,11 @@ static int check_RS485_2(char *_pBuffer, uint32_t _iSize)
return _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) void Myprint_Init(void)
{ {
TUartUserData *ptUartUserData = UART_userdata_init(1, 115200, 4096); 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) void SpoolendInit(void)
{ {
TUartUserData *ptUartUserData = UART_userdata_init(0, 115200, 512); TUartUserData *ptUartUserData = UART_userdata_init(0, 115200, 512);
@ -128,12 +140,17 @@ void SpoolendInit(void)
// TUartUserData *ptUartUserData1 = UART_userdata_init(0, 115200, 512); // 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); // g_ptRS485_2 = rd_ComCreate(check_RS485_2, NULL, RS485_2_Send, ptUartUserData1->m_buf_size, ptUartUserData1);
// UART_IT_init(g_ptRS485_2); // 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) void SpoolendTask(void)
{ {
char pcBuffer1[52] = {0}; char pcBuffer1[52] = {0};
// char pcBuffer2[52] = {0}; // char pcBuffer2[52] = {0};
char cansend[5] = {1, 2, 3 ,4, 5};
rd_ComIDSend(g_ptFDCAN1, 1, cansend, sizeof(cansend));
__disable_irq(); __disable_irq();
rd_ComRead(g_ptRS485_1, pcBuffer1, sizeof(pcBuffer1)); rd_ComRead(g_ptRS485_1, pcBuffer1, sizeof(pcBuffer1));
// rd_ComRead(g_ptRS485_2, pcBuffer2, sizeof(pcBuffer2)); // rd_ComRead(g_ptRS485_2, pcBuffer2, sizeof(pcBuffer2));

Loading…
Cancel
Save