OpenEdv-开源电子网

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

can通信问题

[复制链接]

12

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2016-9-2
在线时间
42 小时
发表于 2017-8-16 16:04:08 | 显示全部楼层 |阅读模式
如题,项目中需要用到can总线采集传感器数据,目前用stm32做采集部分,51单片机做传感器,单个设备连接时都没有问题,但是把两个传感器一款连接到stm32下,只会有一个设备能够采集到数据,这是什么原因呢?另外,我每次都是stm32发查询指令,然后51单片机对应的回相应数据,自己定的协议,没有用到过滤器。各位大神,问题会出现在什么地方呢

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

使用道具 举报

12

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2016-9-2
在线时间
42 小时
 楼主| 发表于 2017-8-16 16:25:28 | 显示全部楼层
dddddddddddddddddddddddddddddddddddddd
回复 支持 反对

使用道具 举报

12

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2016-9-2
在线时间
42 小时
 楼主| 发表于 2017-8-16 16:25:40 | 显示全部楼层
dddddddddddddddddddddddddddddddddddd
回复 支持 反对

使用道具 举报

24

主题

257

帖子

0

精华

高级会员

Rank: 4

积分
771
金钱
771
注册时间
2017-2-19
在线时间
133 小时
发表于 2017-8-16 16:31:54 | 显示全部楼层
地址呢,你2个51应该是不同的地址吧,还有你STM32应该要访问2个不同的51,按你说的,应该是没有循环吧。
回复 支持 反对

使用道具 举报

12

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2016-9-2
在线时间
42 小时
 楼主| 发表于 2017-8-16 16:34:30 | 显示全部楼层
刘东君 发表于 2017-8-16 16:31
地址呢,你2个51应该是不同的地址吧,还有你STM32应该要访问2个不同的51,按你说的,应该是没有循环吧。

每个传感器有个对应的识别码,其实也就算是地址了,这是自己定义的协议。别如说角度传感器和绝对值编码器,我的识别码一个是02,一个是08,一直在发的,我用战舰的板子接到自己的板子上,可以看到一直在发查询命令
回复 支持 反对

使用道具 举报

12

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2016-9-2
在线时间
42 小时
 楼主| 发表于 2017-8-16 16:37:30 | 显示全部楼层
TMAC666 发表于 2017-8-16 16:34
每个传感器有个对应的识别码,其实也就算是地址了,这是自己定义的协议。别如说角度传感器和绝对值编码器 ...

                                CAN_sample_cmd(Leak);//偏斜测量
                                               
                        OSSemPend((OS_SEM *)&can_ok,
                                                                (OS_TICK )250,
                                                                (OS_OPT)OS_OPT_PEND_BLOCKING,
                                                                (CPU_TS *)&ts,
                                                                (OS_ERR *)&err);
                                                       
                                                        if(err==OS_ERR_NONE)
                                                                {
                                                                        printf("偏斜角度数据接收正确\r\n");
                                                                       
                                                                                //偏斜角度
                                                                                sensor_data.leak[0]=CAN_Frame.data[5];//整数部分
                                                                                sensor_data.leak[1]=CAN_Frame.data[6];//小数部分
                                                               
                                                                }
                                                                else
                                                                        printf("没有接收到偏斜角度数据\r\n");
                                                                memset(&CAN_Frame,0xff,12);
               
                        printf("编码器采集数据\r\n");
                        CAN_sample_cmd(Coder);//绝对值编码器
                                                               
                        OSSemPend((OS_SEM *)&can_ok,
                                                                (OS_TICK )250,
                                                                (OS_OPT)OS_OPT_PEND_BLOCKING,
                                                                (CPU_TS *)&ts,
                                                                (OS_ERR *)&err);
                                                               


如上这是我的采集程序,信号量是在我的can接收中断里发送,一旦接收到正确的数据就会发送
回复 支持 反对

使用道具 举报

13

主题

271

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5387
金钱
5387
注册时间
2017-8-14
在线时间
248 小时
发表于 2017-8-28 22:42:43 | 显示全部楼层
自己 编 协议 很难的,我们 搞了 3年,建议 用 现成的  CAN 高级协议,如 CANWeb,CANOpen\DeviceNet\iCAN等

这个 是  冗余双CANWeb现场总线 正点 开发板Keil工程 C++源程序下载链接:
http://www.openedv.com/forum.php ... 4&fromuid=85751
有空 交流交流
详细资料扣扣群204408503自行下载
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-14 19:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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