完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是ISO国际标准化的串行通信协议。CAN总线结构简单,只需2根线与外部相连,并且内部集成了错误探测和管理模块。
本篇文章以TPYBoardv102开发板为例,为大家介绍一下如何使用STM32自带的CAN控制器,来实现两个开发板之间的CAN通讯。 0x01实验器材 TPYBoardv102开发板2块 杜邦线若干 CAN总线收发器模块VP230(SN65HVD230)2个 0x02前期准备 1. TPYBoardv102的CAN控制器。 v102上有两个CAN控制器,分别为CAN1和CAN2,对应引脚如下: v102上虽然已经有两个CAN控制器,但是想要完成两个板子之间的CAN通讯,还需要搭配CAN收发器模块。CAN收发器就是CAN控制器和物理总线之间的接口,主要作用就是将CAN控制器的逻辑电平转换为CAN总线的差分电平,在两条有差分电压的总线电缆上传输数据。 2. 去tpyboard的官网看看CAN类库的介绍。 http://docs.tpyboard.com/zh/latest/library/pyb.CAN/?highlight=pyb.CAN 看一下官方的实例代码,这些基本上够用了。
两个v102我用的都是CAN1。具体连接示意图如下: 两个收发器之间H接H、L接L即可。 0x04源代码 第一个板子等待接收,当接收到数据再发送。
1.png |
|
|
|
只有小组成员才能发言,加入小组>>
800 浏览 0 评论
1156 浏览 1 评论
2531 浏览 5 评论
2863 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2714 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1092浏览 3评论
197浏览 2评论
463浏览 2评论
376浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
458浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 08:31 , Processed in 0.989540 second(s), Total 49, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号