can_etts
unknown
plain_text
3 years ago
1.5 kB
12
Indexable
/* Configure standard ID reception filter to Rx buffer 0 */ sFilterConfig.IdType = FDCAN_STANDARD_ID; sFilterConfig.FilterIndex = 0; #if 0 sFilterConfig.FilterType = FDCAN_FILTER_DUAL; // Ignore because FDCAN_FILTER_TO_RXBUFFER #endif sFilterConfig.FilterConfig = FDCAN_FILTER_TO_RXBUFFER; sFilterConfig.FilterID1 = 0x2; // ID Node2 #if 0 sFilterConfig.FilterID2 = 0x0; // Ignore because FDCAN_FILTER_TO_RXBUFFER #endif sFilterConfig.RxBufferIndex = 0; if (HAL_FDCAN_ConfigFilter(&hfdcan1, &sFilterConfig) != HAL_OK) { Error_Handler2(); } /* Start the FDCAN module */ if (HAL_FDCAN_Start(&hfdcan1) != HAL_OK) { Error_Handler2(); } TxHeader.Identifier = 0x1; TxHeader.IdType = FDCAN_STANDARD_ID; TxHeader.TxFrameType = FDCAN_DATA_FRAME; TxHeader.DataLength = FDCAN_DLC_BYTES_12; TxHeader.ErrorStateIndicator = FDCAN_ESI_ACTIVE; TxHeader.BitRateSwitch = FDCAN_BRS_ON; TxHeader.FDFormat = FDCAN_FD_CAN; TxHeader.TxEventFifoControl = FDCAN_NO_TX_EVENTS; TxHeader.MessageMarker = 0x0; // Ignore because FDCAN_NO_TX_EVENTS if (HAL_FDCAN_AddMessageToTxBuffer(&hfdcan1, &TxHeader, TxData_Node1_To_Node2, FDCAN_TX_BUFFER0) != HAL_OK) { Error_Handler2(); } hfdcan1.Instance->TXBAR=0x1u; /* Send Tx buffer message */ if (HAL_FDCAN_EnableTxBufferRequest(&hfdcan1, FDCAN_TX_BUFFER0) != HAL_OK) { Error_Handler2(); } /* Polling for transmission complete on buffer index 0 */ while (HAL_FDCAN_IsTxBufferMessagePending(&hfdcan1, FDCAN_TX_BUFFER0) == 1) ;
Editor is loading...