Files
DS_Library_Docs/docs/DS_SN65HVD230.md
T

2.2 KiB

Драйвер трансивера SN65HVD230 для STM32G0

Библиотека для работы с CAN-трансивером через аппаратный модуль FDCAN микроконтроллеров семейства STM32G0 в режиме классического CAN. Работа с пином Rs исключена, модуль всегда активен на максимальной скорости.

📌 Особенности

  • Оптимизировано строго под архитектуру модуля FDCAN в STM32G0.
  • Полное отсутствие динамического выделения памяти (malloc).
  • Контроль таймаутов отправки и приема для предотвращения зависания шины.

🔌 Схема подключения

Контакт модуля MCU-230 Контакт STM32G0 Описание
3V3 3.3V Питание модуля
GND GND Общая земля
CTX FDCAN1_TX Линия передачи данных FDCAN
CRX FDCAN1_RX Линия приема данных FDCAN

⚠️ Важно: На плате MCU-230 уже распаян терминатор 120 Ом. Если узел подключается к готовой сети, этот резистор нужно выпаять.

📋 Справочник API функций

  • HAL_StatusTypeDef SN65HVD230_Init(SN65HVD230_t *node, FDCAN_HandleTypeDef *hfdcan_handle) — Привязка дескриптора к аппаратному хэндлеру.
  • HAL_StatusTypeDef SN65HVD230_Start(SN65HVD230_t *node) — Активация прерываний FIFO 0 и запуск FDCAN шины.
  • HAL_StatusTypeDef SN65HVD230_Transmit(SN65HVD230_t *node, CAN_Message_t *msg, uint32_t timeout_ms) — Отправка классического CAN-кадра.
  • HAL_StatusTypeDef SN65HVD230_Receive(SN65HVD230_t *node, CAN_Message_t *msg, uint32_t timeout_ms) — Чтение кадра из FIFO 0 (передайте timeout_ms = 0 для неблокирующего опроса).