# Драйвер трансивера 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` для неблокирующего опроса).