2019-03-12 05:15 AM
Hi,
I'm new to CAN communication and trying to up the CAN(normal mode) between two identical custom boards having stm32f072 controllers. Code generated using CubeMX (STM32Cube_FW_F0_V1.9.0) drivers.
I have given the setup diagram. TJA1050 RS pin is grounded & VREF is NC.
In main while(1) calling HAL_CAN_Transmit(&hcan, 100) gives timeout result (0x03) at both boards, from the following portion of code in stm32f0xx_hal_can.c
/* Check End of transmission flag */
while(!(__HAL_CAN_TRANSMIT_STATUS(hcan, transmitmailbox)))
{
/* Check for the Timeout */
if(Timeout != HAL_MAX_DELAY)
{
if((Timeout == 0U) || ((HAL_GetTick()-tickstart) > Timeout))
{
hcan->State = HAL_CAN_STATE_TIMEOUT;
/* Cancel transmission */
__HAL_CAN_CANCEL_TRANSMIT(hcan, transmitmailbox);
/* Process unlocked */
__HAL_UNLOCK(hcan);
return HAL_TIMEOUT;
}
}
}
What am i missing in my setup kindly anyone help me out on this one. Thanks in advance