OpenEdv-开源电子网

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

关于CAN通讯对总线检测的疑问

[复制链接]

4

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2016-7-14
在线时间
12 小时
发表于 2016-12-26 21:16:56 | 显示全部楼层 |阅读模式
1金钱
之前运用过C8051F040的CAN模块,这块芯片可以检测CAN总线是否存在,只要断开总线的连接,可以进行检测到,我想问问STM32中的是否有这个功能,怎么去实现。
在查看参考手册,看到CAN_MCR寄存器中这个ANOM位自动离线管理,可是我在使能自动离线管理之后,并查看标志位,想通过标志位来进行判断,然后去检测总线连接与否,
但是还是不成功,求各路大神帮帮忙,能不能帮我看看


最佳答案

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

使用道具 举报

4

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2016-7-14
在线时间
12 小时
 楼主| 发表于 2016-12-26 21:16:57 | 显示全部楼层
xuande 发表于 2016-12-27 08:35
通过标志位来进行判断,然后去检测总线连接与否,

好久没动过can,

已经解决了,谢谢
回复

使用道具 举报

4

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2016-7-14
在线时间
12 小时
 楼主| 发表于 2016-12-26 21:20:13 | 显示全部楼层
这是我写的函数,用来判断标志位
void CAN_BUS_OK(void)
{
   if(CAN_GetFlagStatus(CAN1,CAN_FLAG_BOF)==SET)
      led_delay=2;//进入离线状态
   else
      led_delay=0;//跳出离线状态
}
回复

使用道具 举报

4

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2016-7-14
在线时间
12 小时
 楼主| 发表于 2016-12-26 21:20:33 | 显示全部楼层
这是我写的函数,用来判断标志位
void CAN_BUS_OK(void)
{
   if(CAN_GetFlagStatus(CAN1,CAN_FLAG_BOF)==SET)
      led_delay=2;//进入离线状态
   else
      led_delay=0;//跳出离线状态
}
回复

使用道具 举报

4

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2016-7-14
在线时间
12 小时
 楼主| 发表于 2016-12-26 21:23:22 | 显示全部楼层

标志位

标志位

回复

使用道具 举报

4

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2016-7-14
在线时间
12 小时
 楼主| 发表于 2016-12-27 08:24:47 | 显示全部楼层
不要沉了呀
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11539
金钱
11539
注册时间
2014-4-1
在线时间
1314 小时
发表于 2016-12-27 08:35:32 | 显示全部楼层

通过标志位来进行判断,然后去检测总线连接与否,

好久没动过can,
但感觉这个思路有问题。

回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-29 04:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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