CAN трансивер - это просто высокоскоростной понижающий преобразователь. (на базовом уровне)
Протокол CAN работает в одном из вариантов диапазонов напряжения. MCP2551 - это комплектный CAN-трансивер, подходящий для систем 12 В и 24 В. С дополнительными функциями, которые помогают с физическим уровнем, таким как externally-controlled slope
для снижения радиопомех, detection of ground fault
, voltage brown-out protection
и т. Д.
Он не зависит от логики CAN. Это просто чтобы помочь вам с голым физическим уровнем.
Чтобы ответить на ваш вопрос:
В соответствии с рекомендациями RishabhHardas используйте библиотеку HAL, предоставляемую STM32 через CubeMx.
Использование CubeMx
Это программное обеспечение, предоставленное ST-Micro, чтобы помочь вам настроить стандартный код для любого периферийного приложения.
Вы также можете ознакомиться с примерами проектов, предоставленных STM в Cube. Это даст вам толчок к пониманию CAN на STM32
STM32Cube_FW_F4_V1.9.0 \ Проекты \ STM324xG_EVAL \ Примеры \ CAN \ CAN_Networking
После настройки вы сможете вызывать HAL_CAN_Transmit()
и HAL_CAN_Receive()
, включив заголовок.
Ознакомьтесь с этим обсуждением в сообществе STM32.