Сгенерировано ИИ
This commit is contained in:
40
Inc/DS_SN65HVD230.h
Normal file
40
Inc/DS_SN65HVD230.h
Normal file
@@ -0,0 +1,40 @@
|
||||
#ifndef DS_SN65HVD230_H
|
||||
#define DS_SN65HVD230_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef STM32G030xx
|
||||
#include "stm32g0xx_hal.h"
|
||||
#endif
|
||||
|
||||
#ifdef STM32G0B1xx
|
||||
#include "stm32g0xx_hal.h"
|
||||
#endif
|
||||
|
||||
|
||||
/* Управляющий дескриптор для STM32G0 */
|
||||
typedef struct {
|
||||
FDCAN_HandleTypeDef *hfdcan; // Указатель на аппаратный FDCAN в STM32G0
|
||||
} SN65HVD230_t;
|
||||
|
||||
/* Унифицированная структура кадра (Классический CAN-режим на FDCAN) */
|
||||
typedef struct {
|
||||
uint32_t Identifier; // ID пакета (11 или 29 бит)
|
||||
uint32_t IdType; // Тип: FDCAN_STANDARD_ID или FDCAN_EXTENDED_ID
|
||||
uint32_t TxFrameType; // Тип кадра: FDCAN_DATA_FRAME или FDCAN_REMOTE_FRAME
|
||||
uint32_t DataLength; // Количество байт данных: от FDCAN_DLC_BYTES_0 до FDCAN_DLC_BYTES_8
|
||||
uint8_t Data[8]; // Буфер данных (макс 8 байт для классического CAN)
|
||||
} CAN_Message_t;
|
||||
|
||||
/* Прототипы функций управления */
|
||||
HAL_StatusTypeDef SN65HVD230_Init(SN65HVD230_t *node, FDCAN_HandleTypeDef *hfdcan_handle);
|
||||
HAL_StatusTypeDef SN65HVD230_Start(SN65HVD230_t *node);
|
||||
HAL_StatusTypeDef SN65HVD230_Stop(SN65HVD230_t *node);
|
||||
|
||||
/* Функции отправки и приема */
|
||||
HAL_StatusTypeDef SN65HVD230_Transmit(SN65HVD230_t *node, CAN_Message_t *msg, uint32_t timeout_ms);
|
||||
HAL_StatusTypeDef SN65HVD230_Receive(SN65HVD230_t *node, CAN_Message_t *msg, uint32_t timeout_ms);
|
||||
|
||||
|
||||
|
||||
#endif // DS_SN65HVD230_H
|
||||
Reference in New Issue
Block a user