OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4549|回复: 2

CAN发了一帧数据后,RXD测出的波形一直出现,不能停下来?

[复制链接]

29

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
190
金钱
190
注册时间
2014-4-24
在线时间
0 小时
发表于 2014-8-21 11:10:24 | 显示全部楼层 |阅读模式
5金钱

CAN配置

void CAN1_Configuration(void)
{
  CAN_InitTypeDef        CAN_InitStructure;
  CAN_FilterInitTypeDef  CAN_FilterInitStructure;

  /* CAN register init */
  CAN_DeInit(CAN1);
  CAN_StructInit(&CAN_InitStructure);

 //SYSCLK=72MHZ
  /* CAN cell init */
  CAN_InitStructure.CAN_TTCM=DISABLE;
  CAN_InitStructure.CAN_ABOM=DISABLE;
  CAN_InitStructure.CAN_AWUM=DISABLE;
  CAN_InitStructure.CAN_NART=DISABLE;
  CAN_InitStructure.CAN_RFLM=DISABLE;
  CAN_InitStructure.CAN_TXFP=DISABLE;
  CAN_InitStructure.CAN_Mode=CAN_Mode_Normal;//CAN_Mode_LoopBack;
  CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;
  CAN_InitStructure.CAN_BS1=CAN_BS1_9tq;
  CAN_InitStructure.CAN_BS2=CAN_BS2_8tq;
  CAN_InitStructure.CAN_Prescaler=2;
  CAN_Init(CAN1,&CAN_InitStructure);

  /* CAN filter init */
  CAN_FilterInitStructure.CAN_FilterNumber=0; 
  CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;
  CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;

   CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000;
  CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000; 
  CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000;
  CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000;

    
  CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_FIFO0;
  CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;
  CAN_FilterInit(&CAN_FilterInitStructure);

   /* CAN FIFO0 message pending interrupt enable */
  CAN_ITConfig(CAN1,CAN_IT_FMP0, ENABLE);   //FIFO0 消息挂号中断屏蔽接收
  CAN_ITConfig(CAN1,CAN_IT_TME, ENABLE);   //发送邮箱空中断屏蔽
 
}

void USB_LP_CAN1_RX0_IRQHandler(void)
{
  
  CanRxMsg can_rx_one_frame;

 if (CAN_MessagePending(CAN1,CAN_FIFO0))//返回值是挂号的信息数量,检查FIFO
 {
    CAN_Receive(CAN1,CAN_FIFO0,&can_rx_one_frame);  
  }

 }


调试时不能进入接收中断?这是硬件问题还是程序配置错误?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

29

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
190
金钱
190
注册时间
2014-4-24
在线时间
0 小时
 楼主| 发表于 2014-8-21 11:31:32 | 显示全部楼层
进行调试状态时,CAN没有发数据,接收FIFO 0的FMPIE就置1?就产生中断请求,但是FMP[1:0]位没变,没接收到报文?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-22 00:02:48 | 显示全部楼层
帮顶....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-2 18:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表