Кадры CAN, которые я отправляю, принимаются с помощью программного обеспечения CAN Analyzer, но я не могу получить байты данных по UART.
Я получаю 0x00 0x00 байтов по UART.Я использовал функции из стандартных примеров.
void HAL_CAN_RxCpltCallback(CAN_HandleTypeDef *hcan)
{
if ((hcan->pRxMsg->IDE == CAN_ID_STD) && (hcan->pRxMsg->DLC == 2))
{
CAN_Rx[0]= hcan->pRxMsg->Data[0];
CAN_Rx[1]= hcan->pRxMsg->Data[1];
}
/* Receive */
if (HAL_CAN_Receive_IT(hcan, CAN_RX_FIFO0) != HAL_OK)
{
/* Reception Error */
Error_Handler();
}
}
while(1)
{
HAL_Delay(2000);
HAL_UART_Transmit(&huart1,(uint8_t*)&CAN_Rx,2,0xFFFF);
}