1.32.3.47 CANx_BitTimingSet Function

C

bool CANx_BitTimingSet(CAN_BIT_TIMING *bitTiming);

Summary

Configure the CAN bit timing at run time.

Description

This function allows the application to change the CAN bit timing parameters at run time. The application can thus override the MCC defined configuration for these parameters. The parameter are specified via the CAN_BIT_TIMING type parameter. Each member of this parameter should be initialized to the desired value.

Precondition

None.

Parameters

Param Description
bitTiming bit timing parameters

Returns

status of the request

true : request successful

false : request failed

Example

volatile bool status = false;
CAN_BIT_TIMING_SETUP setup = {0};
CAN_BIT_TIMING bitTiming = {0}; 
setup.nominalBitTimingSet = true;
setup.nominalBitRate = 250000;
setup.nominalPrescaler = 0;
setup.nominalSamplePoint = 75;
setup.dataBitTimingSet = true;
setup.dataBitRate = 1000000;
setup.dataPrescaler = 3;
setup.dataSamplePoint = 75;
status = CAN1_BitTimingCalculationGet(&setup, &bitTiming);
if (status)
{
    status = CAN1_BitTimingSet(&bitTiming);
}
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––--
volatile bool status = false;
CAN_BIT_TIMING_SETUP setup = {0};
CAN_BIT_TIMING bitTiming = {0};
setup.nominalBitTimingSet = true;
setup.nominalBitRate = 500000;
setup.nominalPrescaler = 7;
setup.nominalSamplePoint = 75;
setup.nominalPropagTime = 300;
status = CAN1_BitTimingCalculationGet(&setup, &bitTiming);
if (status)
{
    status = CAN1_BitTimingSet(&bitTiming);
}

Remarks

Calling this function will affect any ongoing communication. The application must thus ensure that there is no on-going communication on the CAN before calling this function.