我用STM32 105芯片需要使用第二路CAN,使用的库函数版本是V2.0.2因库函数不支持两路CAN,我把3.0.0库函数关于CAN的部份拷到我的文件中,再增加了些CAN2的定义和改动一些宏,用拷入的3.0.0库函数部份对CAN1进行配置CAN1部份CAN1能正常收发,用同样的方法对CAN2进行配置但CAN2不能发送接收,调用发送函数后发送FIFO满了数据发不出去。以下是添加的一些代码
//--配置部份---------------------------------------------------------
#define CAN1_BASE (APB1PERIPH_BASE + 0x6400)
#define CAN1 ((CAN_TypeDef *) CAN1_BASE)
#define CAN2_BASE (APB1PERIPH_BASE + 0x6800)
#define CAN2 ((CAN_TypeDef *) CAN2_BASE)
//--使能时钟部份------------------------------------------------------------
RCC->APB1ENR |= 0x02000000|0x04000000;
//--使能IO口部份---------------------------------------------------------
//--CAN2------------------------------------------------------------
// Configure CAN2 pin: RX
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOB, &GPIO_InitStructure);
// Configure CAN2 pin: TX
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
请问一下这样配置为什么CAN2不能工作 |