首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有用于STM32与CAN收发器直接连接的CAN总线库?

是否有用于STM32与CAN收发器直接连接的CAN总线库?
EN

Stack Overflow用户
提问于 2018-10-30 12:52:59
回答 2查看 10.7K关注 0票数 1

许多STM32芯片组支持1或2通道CAN引脚输出。是否有用于STM32与MCP2551等CAN收发器直接连接的CAN总线库?但是CAN收发器是什么并不重要。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-04 15:58:10

CAN收发器只是一个高速降压转换器。(在基本级别上)

CAN协议适用于不同的电压范围。MCP2551是一款适用于12V和24V系统的set CAN收发器。通过增加的功能来帮助物理层,如externally-controlled slope,以减少射频干扰排放、detection of ground faultvoltage brown-out protection等。

它不依赖于CAN逻辑。它只是为了帮助您使用裸露的物理层。

回答你的问题:

按照RishabhHardas的建议,通过CubeMx使用STM32提供的HAL库。

使用CubeMx的

这是一款由ST-Micro提供的软件,可帮助您为任何外围应用设置样板代码。

您还可以在Cube中查看STM提供的示例项目。这将使您开始了解STM32上的CAN

STM32Cube_FW_F4_V1.9.0\Projects\STM324xG_EVAL\Examples\CAN\CAN_Networking

设置它之后,您将能够通过包含头部来调用HAL_CAN_Transmit()HAL_CAN_Receive()

查看stm32-社区上的this讨论。

票数 5
EN

Stack Overflow用户

发布于 2019-12-22 11:23:36

对于软件,请在Github上查找CANtact开源项目。它是STM32F042的一个实现。我不得不调整项目,以在Atollic下构建它,但它并不太难,而且很有效。它通过USB的虚拟COM端口提供了SLCAN类型的接口,这是非常快速和方便的。

也有用于STM32F103 (Bluepill)的CAN代码(谷歌"lawicel-slcan"),但该芯片并不方便,因为您不能同时使用CAN和U盘(它们共享内存缓冲区),所以如果您想要CAN,您将没有U盘,并且通过UART路由CAN消息将严重限制带宽。如果您的整个应用程序在STM32上运行,这可能是可以的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53057645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档