но почемуто ничего не выходит...
приборку запитал 1 пин GND 4, 5, 6 - +12v 9 10 CAN H и L соответственно
есть stm32f103c8t6 CAN драйвер на tja1050
функция отправки
Code: Select all
void CAN_Transmit(void)
{
hcan.pTxMsg->StdId = 0x316;
hcan.pTxMsg->DLC = 8;
hcan.pTxMsg->Data[0] = 0x05;
hcan.pTxMsg->Data[1] = 0x1B;
hcan.pTxMsg->Data[2] = 0xFD;
hcan.pTxMsg->Data[3] = 0x15;
hcan.pTxMsg->Data[4] = 0x1F;
hcan.pTxMsg->Data[5] = 0x19;
hcan.pTxMsg->Data[6] = 0x00;
hcan.pTxMsg->Data[7] = 0x00;
HAL_CAN_Transmit(&hcan, 10);
}
инициализация CAN
Code: Select all
static void MX_CAN_Init(void)
{
hcan.Instance = CAN1;
hcan.Init.Prescaler = 4;
hcan.Init.Mode = CAN_MODE_LOOPBACK;
hcan.Init.SJW = CAN_SJW_1TQ;
hcan.Init.BS1 = CAN_BS1_12TQ;
hcan.Init.BS2 = CAN_BS2_5TQ;
hcan.Init.TTCM = DISABLE;
hcan.Init.ABOM = DISABLE;
hcan.Init.AWUM = DISABLE;
hcan.Init.NART = DISABLE;
hcan.Init.RFLM = DISABLE;
hcan.Init.TXFP = DISABLE;
if (HAL_CAN_Init(&hcan) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}
}