OpenEdv-开源电子网

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

原子STM32F407的HAL库例子CAN接收到是远程帧??

[复制链接]

27

主题

99

帖子

0

精华

高级会员

Rank: 4

积分
848
金钱
848
注册时间
2013-12-25
在线时间
103 小时
发表于 2018-11-24 12:20:53 | 显示全部楼层 |阅读模式
10金钱
我用正点原子的《STM32F407 探索者HAL库例程V1.1》中的CAN通讯,测试过程中发现接收到的是远程帧??这是怎么回事,我用STM32CubeMX自己生成了一个CAN通讯,收到的也是远程帧,求大神给看看啊。。。。STM32CubeMX用的是原子提供的版本STM32CubeMX-4.14.0,库用的是和原子一样库STM32Cube_FW_F4_V1.11.0,MDK用的是5.26

CAN远程帧???.png

CAN.rar

3.38 MB, 下载次数: 243

海到无边天作岸?
山登绝顶我为峰
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2018-11-25 01:15:06 | 显示全部楼层
是不是你设置的问题?我们例程都是用的标准帧,不是远程帧
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2018-12-18
在线时间
0 小时
发表于 2018-12-28 15:58:55 | 显示全部楼层
现在我的程序也是这样的情况,一直是扩展帧和远程帧,设置发送给帧结构体也没有用
u8 CAN1_Send_Msg(u8* msg,u8 len,CanTxMsg* Tx_ptr)
{       
  u8 mbox;
  u16 i=0;
        Tx_ptr->StdId                = 0x12;
        Tx_ptr->ExtId                =        0x12;
        Tx_ptr->IDE                        =        0;
        Tx_ptr->RTR                        = 0;
        Tx_ptr->DLC                        = len;
  for(i=0;i<len;i++)
                Tx_ptr->Data[i]=msg[i];                                 // μúò&#187;&#214;&#161;D&#197;&#207;¢         
  mbox= CAN_Transmit(CAN2, Tx_ptr);   
  i=0;
  while((CAN_TransmitStatus(CAN2, mbox)==CAN_TxStatus_Failed)&&(i<0XFFF))i++;
  if(i>=0XFFF)return 1;
  return 0;               

}
回复

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2020-7-28
在线时间
22 小时
发表于 2022-4-13 11:33:37 | 显示全部楼层
你这canTxMsg用的指针,变的是id,ide,rtr,dlc的地址
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 21:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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