test
Fork of CANnucleo by
Diff: can_api.c
- Revision:
- 20:a4cb2125682c
- Parent:
- 17:1fd35431ee8e
--- a/can_api.c Sat Mar 19 21:16:10 2016 +0000 +++ b/can_api.c Fri Jun 24 07:54:02 2016 +0000 @@ -119,33 +119,33 @@ switch(hz) { case 1000000: // 1000kbps bit rate - _canHandle.Init.Prescaler = 3; // number of time quanta = 36000000/3/1000000 = 12 + _canHandle.Init.Prescaler = 2; // number of time quanta = 36000000/3/1000000 = 12 _canHandle.Init.SJW = CAN_SJW_1TQ; - _canHandle.Init.BS1 = CAN_BS1_8TQ; // sample point at: (1 + 8) / 12 * 100 = 75% - _canHandle.Init.BS2 = CAN_BS2_3TQ; + _canHandle.Init.BS1 = CAN_BS1_11TQ; // sample point at: (1 + 11) / 16 * 100 = 75% + _canHandle.Init.BS2 = CAN_BS2_4TQ; break; case 500000: // 500kbps bit rate - _canHandle.Init.Prescaler = 6; // number of time quanta = 36000000/6/500000 = 12 + _canHandle.Init.Prescaler = 4; // number of time quanta = 36000000/3/1000000 = 12 _canHandle.Init.SJW = CAN_SJW_1TQ; - _canHandle.Init.BS1 = CAN_BS1_8TQ; // sample point at: (1 + 8) / 12 * 100 = 75% - _canHandle.Init.BS2 = CAN_BS2_3TQ; + _canHandle.Init.BS1 = CAN_BS1_11TQ; // sample point at: (1 + 11) / 16 * 100 = 75% + _canHandle.Init.BS2 = CAN_BS2_4TQ; break; case 250000: // 250kbps - _canHandle.Init.Prescaler = 9; // number of time quanta = 36000000/9/250000 = 16 + _canHandle.Init.Prescaler = 8; // number of time quanta = 36000000/3/1000000 = 12 _canHandle.Init.SJW = CAN_SJW_1TQ; - _canHandle.Init.BS1 = CAN_BS1_11TQ; // sample point at: (1 + 11) / 16 * 100 = 75% + _canHandle.Init.BS1 = CAN_BS1_11TQ; // sample point at: (1 + 11) / 16 * 100 = 75% _canHandle.Init.BS2 = CAN_BS2_4TQ; break; case 125000: // 125kbps - _canHandle.Init.Prescaler = 18; // number of time quanta = 36000000/18/125000 = 16 + _canHandle.Init.Prescaler = 16; // number of time quanta = 36000000/3/1000000 = 12 _canHandle.Init.SJW = CAN_SJW_1TQ; - _canHandle.Init.BS1 = CAN_BS1_11TQ; // sample point at: (1 + 11) / 16 * 100 = 75% + _canHandle.Init.BS1 = CAN_BS1_11TQ; // sample point at: (1 + 11) / 16 * 100 = 75% _canHandle.Init.BS2 = CAN_BS2_4TQ; break;