|
楼主 |
发表于 2015-1-29 21:33:57
|
显示全部楼层
我现在把例程里面有关usb的所有代码都注释了,然后把can的配置放在主函数while(1)里面,最多开了一个串口, 但还会发送不成功, 这很让我纠结,。。。 谁知道为什么呢。。。(个人感觉i波特率的问题,但系统时钟那块,自己也有些不明白),发送配置:-
- CAN_DeInit(CAN1);
- CAN_StructInit(&CAN_InitStructure);
- /* CAN单元初始化 */
- CAN_InitStructure.CAN_TTCM=DISABLE; //禁止时间触发通讯模式 MCR
- CAN_InitStructure.CAN_ABOM=DISABLE; //禁止自动离线模式
- CAN_InitStructure.CAN_AWUM=DISABLE; //禁止自动唤醒模式
- CAN_InitStructure.CAN_NART=ENABLE; //禁止非自动重传模式 ENABLE //CAN_InitStructure.CAN_NART=ENABLE;
- CAN_InitStructure.CAN_RFLM=DISABLE; //禁止接收FIFO锁定模式
- CAN_InitStructure.CAN_TXFP=DISABLE; //禁止发送FIFO优先级 ENABLE 发送FIFO优先级 0-优先级取决于报文标示符 1-优先级取决于发送请求的顺序
- CAN_InitStructure.CAN_Mode=CAN_Mode_Normal; //BTR-SILM/LBKM CAN正常模式
- CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;
- CAN_InitStructure.CAN_BS1=CAN_BS1_2tq;
- CAN_InitStructure.CAN_BS2=CAN_BS2_4tq;
- CAN_InitStructure.CAN_Prescaler=6;
- CAN_Init(CAN1,&CAN_InitStructure);
复制代码
接收配置:-
- CAN_DeInit(CAN1);
- CAN_StructInit(&CAN_InitStructure);
-
- /* CAN cell init */
- CAN_InitStructure.CAN_TTCM=DISABLE; //禁止时间触发通讯模式 MCR
- CAN_InitStructure.CAN_ABOM=DISABLE; //禁止自动离线模式
- CAN_InitStructure.CAN_AWUM=DISABLE; //禁止自动唤醒模式
- CAN_InitStructure.CAN_NART=DISABLE; //禁止非自动重传模式 ENABLE //CAN_InitStructure.CAN_NART=ENABLE;
- CAN_InitStructure.CAN_RFLM=DISABLE; //禁止接收FIFO锁定模式
- CAN_InitStructure.CAN_TXFP=DISABLE; //禁止发送FIFO优先级 ENABLE 发送FIFO优先级 0-优先级取决于报文标示符 1-优先级取决于发送请求的顺序
- CAN_InitStructure.CAN_Mode=CAN_Mode_Normal; //BTR-SILM/LBKM CAN正常模式
- CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;
- CAN_InitStructure.CAN_BS1=CAN_BS1_2tq;
- CAN_InitStructure.CAN_BS2=CAN_BS2_4tq;
- CAN_InitStructure.CAN_Prescaler=6;
- CAN_Init(CAN1,&CAN_InitStructure);
复制代码 |
|