OpenEdv-开源电子网

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

CAN环回模式正常,正常模式这种情况是咋回事啊?求助

[复制链接]

9

主题

63

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2015-12-31
在线时间
34 小时
发表于 2016-1-14 10:11:26 | 显示全部楼层 |阅读模式
5金钱
两块板子一个103,一个407,分别写了两套程序,一套寄存器,一套库函数,寄存器的通信时候直接就是发送失败,库函数的则是打印发送成功,但是总线上电压还是2.5V,压根没数据发送出来,怎么回事,求解?????

最佳答案

查看完整内容[请看2#楼]

问题出来了。是硬件的问题,可能是TJA1051芯片收发器的问题,有两种可能,一种是芯片不兼容问题,再者就是芯片自身质量问题
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

63

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2015-12-31
在线时间
34 小时
 楼主| 发表于 2016-1-14 10:11:27 | 显示全部楼层
问题出来了。是硬件的问题,可能是TJA1051芯片收发器的问题,有两种可能,一种是芯片不兼容问题,再者就是芯片自身质量问题
回复

使用道具 举报

29

主题

244

帖子

0

精华

高级会员

Rank: 4

积分
944
金钱
944
注册时间
2014-10-9
在线时间
93 小时
发表于 2016-1-14 11:02:00 | 显示全部楼层
本帖最后由 yuanxinfei 于 2016-1-14 11:03 编辑


中断部分:void CAN1_RX0_IRQHandler(void)
{
        uint8_t can;
  CanRxMsg RxMessage;
  CAN_Receive(CAN1, CAN_FIFO0, &RxMessage);
  if ((RxMessage.ExtId == 0x0202FE32)&&(RxMessage.IDE == CAN_ID_EXT) && (RxMessage.DLC == 8))
{}
}
f407接收配置部分
static void CAN_Config(void)
{
  RCC_APB1PeriphClockCmd(CAN_CLK, ENABLE);
  
  /* CAN register init */
  CAN_DeInit(CANx);

  /* 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_InitStructure.CAN_SJW = CAN_SJW_1tq;
   
  /* CAN Baudrate = 1 MBps (CAN clocked at 30 MHz) */
  CAN_InitStructure.CAN_BS1 = CAN_BS1_12tq;
  CAN_InitStructure.CAN_BS2 = CAN_BS2_8tq;
  CAN_InitStructure.CAN_Prescaler = 8;
  CAN_Init(CANx, &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;   //((0x0202FE20<<3)&0xFFFF0000)>>16
  CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000;     //((0x0202FE20<<3)|CAN_ID_EXT)&0xFFFF
  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);
  
  /* Transmit Structure preparation */
  
  
  /* Enable FIFO 0 message pending Interrupt */
  CAN_ITConfig(CANx, CAN_IT_FMP0, ENABLE);
}

/**
  * @brief  Configures the NVIC for CAN.
  * @param  None
  * @retval None
  */
static void NVIC_Config(void)
{
  NVIC_InitTypeDef  NVIC_InitStructure;

  NVIC_InitStructure.NVIC_IRQChannel = CAN1_RX0_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}
淘宝小店,没事可以点一下增加点流量http://shop69767205.taobao.com/
回复

使用道具 举报

29

主题

244

帖子

0

精华

高级会员

Rank: 4

积分
944
金钱
944
注册时间
2014-10-9
在线时间
93 小时
发表于 2016-1-14 11:05:10 | 显示全部楼层
这个问题,你最好把配置部分贴出来,can配置好,一般是不会有问题的
回复

使用道具 举报

9

主题

63

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2015-12-31
在线时间
34 小时
 楼主| 发表于 2016-1-14 11:18:51 | 显示全部楼层
用的就是探索者的例程啊
回复

使用道具 举报

29

主题

244

帖子

0

精华

高级会员

Rank: 4

积分
944
金钱
944
注册时间
2014-10-9
在线时间
93 小时
发表于 2016-1-14 11:23:02 | 显示全部楼层
蓝风3101 发表于 2016-1-14 11:18
用的就是探索者的例程啊

硬件也是探索者吗,会不会是引脚配置错了,或者can芯片问题,原子的例程can配置不会错的
淘宝小店,没事可以点一下增加点流量http://shop69767205.taobao.com/
回复

使用道具 举报

9

主题

63

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2015-12-31
在线时间
34 小时
 楼主| 发表于 2016-1-14 11:29:54 | 显示全部楼层
yuanxinfei 发表于 2016-1-14 11:23
硬件也是探索者吗,会不会是引脚配置错了,或者can芯片问题,原子的例程can配置不会错的

对硬件就是探索者f4开发板,另外一个是自己的f103rc板子
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 00:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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