许多 STM32 芯片组支持 1 或 2 通道 CAN 引脚输出。STM32有CAN总线库可以直接连接MCP2551等CAN收发器吗?但 CAN 收发器是什么并不重要。
CAN 收发器只是一个高速降压转换器。(在基础层面上)
CAN 协议可在不同的电压范围内工作。MCP2551是一套适用于12V和24V系统的CAN收发器。添加了有助于物理层的功能,例如externally-controlled slope减少 RFI 发射、detection of ground fault等等voltage brown-out protection。
它不依赖于 CAN 逻辑。它只是为了帮助您处理裸物理层。
回答你的问题:
按照RishabhHardas的建议,使用STM32通过CubeMx提供的HAL库。
使用 CubeMx
这是 ST-Micro 提供的软件,可帮助您为任何外围应用设置样板代码。
您还可以在Cube中查看STM提供的示例项目。这将帮助您快速了解 STM32 上的 CAN
STM32Cube_FW_F4_V1.9.0\Projects\STM324xG_EVAL\Examples\CAN\CAN_Networking
设置完成后,您将能够通过包含标头来调用HAL_CAN_Transmit()and 。
查看STM32 社区上的讨论。HAL_CAN_Receive()