打印
[STM32F1]

stm32 can通信求助

[复制链接]
989|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
taijing33|  楼主 | 2016-8-20 11:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现有产品是一个主机带64个分机。采用485方式。也就是分机设定地址,主机轮流通讯要回数据显示。
现在我想用can通讯。看了半天也大体知道can的原理。但是还有些疑惑。
比如我替代485通讯。
是不是每个节点的can  标识符必须在程序里设置好?这样每个节点的程序都不一样!
还有就是 stm32的 can有14个标识符组,。专业岂不是只能有14个节点了?


沙发
lxyppc| | 2016-8-20 12:13 | 只看该作者
can是多主机的
14组是过滤用的,你可以全部放进来,自己代码判别

使用特权

评论回复
板凳
yiyigirl2014| | 2016-8-20 20:43 | 只看该作者
如果只有不到128个主机的话,楼主可以搞8个IO口作为ID编码,通过跳帽或者拨码开关设置ID,

使用特权

评论回复
地板
lyn3210| | 2016-8-22 15:39 | 只看该作者
上层要你设计!

使用特权

评论回复
5
42923277| | 2016-8-22 16:23 | 只看该作者
"是不是每个节点的can  标识符必须在程序里设置好?这样每个节点的程序都不一样!"
你485怎么搞的?CAN类似。
“还有就是 stm32的 can有14个标识符组,。专业岂不是只能有14个节点了?”
14个过滤器。可以过滤器过滤ID,得到你想接收到的信息。也就是你的软件不用去处理你不想见到的信息了。

使用特权

评论回复
6
qiangweii| | 2016-8-22 16:55 | 只看该作者
楼主可以搞8个IO口作为ID编码,通过跳帽或者拨码开关设置ID。。

使用特权

评论回复
7
杨爱林林| | 2016-8-22 19:23 | 只看该作者
can是一主多从的方式
至于你说的是不是每个节点的id都要设置好:
首先,没有节点id这个说法,你可以按照相关标准如saej1939设置每个节点的地址,相对于主机来说也就是目的地址
比如,主机地址为0x18  节点1、2、3地址分别为0xc1 0xc2 0xc3以此类推。那么你的报文id  就可以设置为0xXXX18C1等等。
再者,你可以不设置滤波,这样的话就等于每条报文进来,程序都能收到,你判断你想要的那几条就可以了。
最后,看看一些行业标准,会提高开发效率

使用特权

评论回复
8
Thethree| | 2016-8-23 09:10 | 只看该作者
有没有485的例程,我也再调,外围电路是什么样的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

162

主题

364

帖子

3

粉丝