Browse Source

【调通打标】】CAN的自发自收调通

master
Lizongdi 10 hours ago
parent
commit
04ae58a2aa
  1. 39
      Spoolend/Spoolend.c

39
Spoolend/Spoolend.c

@ -50,7 +50,7 @@ TComCtrl *g_ptFDCAN1;
* *
*----------------------------------------------*/
int RS485_1_Send(char *_pBuffer, uint32_t _iSize)
static 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;
@ -59,7 +59,7 @@ int RS485_1_Send(char *_pBuffer, uint32_t _iSize)
return iRet;
}
int RS485_2_Send(char *_pBuffer, uint32_t _iSize)
static 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;
@ -94,11 +94,35 @@ static int check_RS485_2(char *_pBuffer, uint32_t _iSize)
return _iSize;
}
int FDCAN1_Send(char *_pBuffer, uint32_t _iSize)
static int check_Spoolend(char *_pBuffer, uint32_t _iSize)
{
TCANUserData *ptCANUserData = (TCANUserData *)g_ptFDCAN1->m_pUserData;
uint32_t iCANId = (uint8_t)ptCANUserData->m_canrx->Identifier;
rd_ComIDSend(g_ptFDCAN1, iCANId, _pBuffer, _iSize);
return _iSize;
}
static int FDCAN1_Send(char *_pBuffer, uint32_t _iSize)
{
return CAN_TX_FIFOQ(g_ptFDCAN1, _pBuffer[0], &_pBuffer[4], _iSize);
}
void HAL_FDCAN_ErrorStatusCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t ErrorStatusITs)
{
if (hfdcan->Instance == FDCAN1)
{
MX_FDCAN1_Init();
}
}
void HAL_FDCAN_RxFifo0Callback(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo0ITs)
{
if (hfdcan->Instance == FDCAN1)
{
CAN_RX_IRQHandler(g_ptFDCAN1);
}
}
void Myprint_Init(void)
{
TUartUserData *ptUartUserData = UART_userdata_init(1, 115200, 4096);
@ -127,11 +151,6 @@ 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);
@ -149,11 +168,11 @@ 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));
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_ptFDCAN1, pcBuffer3, sizeof(pcBuffer3));
__enable_irq();
}

Loading…
Cancel
Save