STM32F042K6的CAN接收中断进不去,求教
1个回答
展开全部
如题,我的CAN1和CAN2用的相同方式配置,CAN1接收、发送没问题,CAN2只能发送,进不了接收中断,CAN2接收使用的是FIFO0,请教是什么问题?
void CAN_HardwareInit(u8 canChan,float bps,u8 mode,u8 rxIntType)
{
GPIO_InitTypeDef GPIO_InitStructure;
CAN_InitTypeDef CAN_InitStructure;
CAN_FilterInitTypeDef CAN_FilterInitStructure;
u8 i = 0;
switch (canChan)
{
case CAN1_CHANNEL:
#if CAN1_USE_GPIOA_EN
//使能相关时钟
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);//使能PORTA时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);//使能CAN1时钟
//初始化GPIO
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11| GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用功能
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
void CAN_HardwareInit(u8 canChan,float bps,u8 mode,u8 rxIntType)
{
GPIO_InitTypeDef GPIO_InitStructure;
CAN_InitTypeDef CAN_InitStructure;
CAN_FilterInitTypeDef CAN_FilterInitStructure;
u8 i = 0;
switch (canChan)
{
case CAN1_CHANNEL:
#if CAN1_USE_GPIOA_EN
//使能相关时钟
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);//使能PORTA时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);//使能CAN1时钟
//初始化GPIO
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11| GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用功能
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
全测科技
2024-12-19 广告
2024-12-19 广告
SMBV100B信号发生器是罗德与施瓦茨公司的一款矢量信号发生器,兼具卓越的性能特性。其频率范围介于8kHz至6GHz,覆盖数字无线通信的所有重要射频频段,调制带宽高达500MHz,满足四代和五代通信标准的严苛要求。同时,它可在极高功率电平...
点击进入详情页
本回答由全测科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询