中级会员
 
- 积分
- 439
- 金钱
- 439
- 注册时间
- 2012-3-6
- 在线时间
- 5 小时
|
发表于 2017-8-31 10:01:49
|
显示全部楼层
[mw_shl_code=applescript,true]switch (iBaud)
{
case CAN_BAUD_5K: /* BAUD = 5kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_8tq; /* 时间段1 */
// TS1[3:0],定义时间段1占用了多少个时间单元
CAN_InitStructure.CAN_BS2 = CAN_BS2_7tq; /* 时间段2 */
// TS2[2:0],定义时间段2占用了多少个时间单元
CAN_InitStructure.CAN_Prescaler = 450; /* 波特率预分频 F/(BS1+BS2+1)/PRE */
break;
case CAN_BAUD_10K: /* BAUD = 10kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_8tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_7tq;
CAN_InitStructure.CAN_Prescaler = 225;
break;
case CAN_BAUD_20K: /* BAUD = 20kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;
CAN_InitStructure.CAN_Prescaler = 150;
break;
case CAN_BAUD_25K: /* BAUD = 25kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_8tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_7tq;
CAN_InitStructure.CAN_Prescaler = 90;
break;
case CAN_BAUD_30K: /* BAUD = 30kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_8tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_7tq;
CAN_InitStructure.CAN_Prescaler = 75;
break;
case CAN_BAUD_40K: /* BAUD = 40kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;
CAN_InitStructure.CAN_Prescaler = 75;
break;
case CAN_BAUD_50K: /* BAUD = 50kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_8tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_7tq;
CAN_InitStructure.CAN_Prescaler = 45;
break;
case CAN_BAUD_60K: /* BAUD = 60kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;
CAN_InitStructure.CAN_Prescaler = 50;
break;
case CAN_BAUD_80K: /* BAUD = 80kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_5tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_4tq;
CAN_InitStructure.CAN_Prescaler = 45;
break;
case CAN_BAUD_90K: /* BAUD = 90kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_5tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_4tq;
CAN_InitStructure.CAN_Prescaler = 40;
break;
case CAN_BAUD_100K: /* BAUD = 100kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;
CAN_InitStructure.CAN_Prescaler = 30;
break;
case CAN_BAUD_200K: /* BAUD = 200kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;
CAN_InitStructure.CAN_Prescaler = 15;
break;
case CAN_BAUD_300K: /* BAUD = 300kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;
CAN_InitStructure.CAN_Prescaler = 10;
break;
case CAN_BAUD_400K: /* BAUD = 400kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_5tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_4tq;
CAN_InitStructure.CAN_Prescaler = 9;
break;
case CAN_BAUD_500K: /* BAUD = 500kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_4tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_3tq;
CAN_InitStructure.CAN_Prescaler = 9;
break;
case CAN_BAUD_600K: /* BAUD = 600kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;
CAN_InitStructure.CAN_Prescaler = 5;
break;
case CAN_BAUD_800K: /* BAUD = 800kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_4tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_4tq;
CAN_InitStructure.CAN_Prescaler = 5;
break;
case CAN_BAUD_900K: /* BAUD = 900kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_5tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_4tq;
CAN_InitStructure.CAN_Prescaler = 4;
break;
case CAN_BAUD_1000K: /* BAUD = 1000kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;
CAN_InitStructure.CAN_Prescaler = 3;
break;
default: /* BAUD = 50kbps */
CAN_InitStructure.CAN_BS1 = CAN_BS1_8tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_7tq;
CAN_InitStructure.CAN_Prescaler = 45;
break;
}[/mw_shl_code] |
|