libxr 1.0
Want to be the best embedded framework
|
STM32CAN 类,用于处理 STM32 系统的 CAN 通道。 Provides handling for STM32 CAN channels. More...
#include <stm32_can.hpp>
Public Member Functions | |
STM32CAN (CAN_HandleTypeDef *hcan, const char *tp_name, uint32_t queue_size) | |
STM32CAN 类,用于处理 STM32 系统的 CAN 通道。 Provides handling for STM32 CAN. | |
ErrorCode | Init (void) |
初始化 | |
ErrorCode | AddMessage (const ClassicPack &pack) override |
添加 CAN 消息到系统 (Adds a CAN message to the system). | |
void | ProcessRxInterrupt () |
处理接收中断 | |
void | ProcessTxInterrupt () |
处理发送中断 | |
![]() | |
CAN (const char *name_tp="can", Topic::Domain *domain=nullptr) | |
构造 CAN 对象,可指定主题名称和通信域 (Constructs a CAN object with an optional topic name and domain). | |
struct | __attribute__ ((packed)) |
经典 CAN 消息结构 (Structure representing a classic CAN message). | |
Data Fields | ||
CAN_HandleTypeDef * | hcan_ | |
stm32_can_id_t | id_ | |
LockFreeQueue< ClassicPack > | tx_queue_ | |
uint32_t | fifo_ | |
struct { | ||
CAN_RxHeaderTypeDef header | ||
ClassicPack pack | ||
} | rx_buff_ | |
struct { | ||
CAN_TxHeaderTypeDef header | ||
ClassicPack pack | ||
} | tx_buff_ | |
uint32_t | txMailbox | |
![]() | ||
ClassicPack | ||
Topic | classic_tp_ | |
经典 CAN 消息的主题 (Topic for classic CAN messages). | ||
Static Public Attributes | |
static STM32CAN * | map [STM32_CAN_NUMBER] = {nullptr} |
Additional Inherited Members | |
![]() | |
enum class | Type : uint8_t { STANDARD = 0 , EXTENDED = 1 , REMOTE_STANDARD = 2 , REMOTE_EXTENDED = 3 } |
CAN 消息类型 (Enumeration of CAN message types). More... | |
STM32CAN 类,用于处理 STM32 系统的 CAN 通道。 Provides handling for STM32 CAN channels.
Definition at line 38 of file stm32_can.hpp.
|
inline |
STM32CAN 类,用于处理 STM32 系统的 CAN 通道。 Provides handling for STM32 CAN.
Definition at line 48 of file stm32_can.hpp.
|
inlineoverridevirtual |
添加 CAN 消息到系统 (Adds a CAN message to the system).
Implements LibXR::CAN.
Definition at line 148 of file stm32_can.hpp.
|
inline |
初始化
Definition at line 63 of file stm32_can.hpp.
|
inline |
处理接收中断
Definition at line 192 of file stm32_can.hpp.
|
inline |
处理发送中断
Definition at line 228 of file stm32_can.hpp.
uint32_t LibXR::STM32CAN::fifo_ |
Definition at line 270 of file stm32_can.hpp.
CAN_HandleTypeDef* LibXR::STM32CAN::hcan_ |
Definition at line 266 of file stm32_can.hpp.
CAN_RxHeaderTypeDef LibXR::STM32CAN::header |
Definition at line 275 of file stm32_can.hpp.
CAN_TxHeaderTypeDef LibXR::STM32CAN::header |
Definition at line 281 of file stm32_can.hpp.
stm32_can_id_t LibXR::STM32CAN::id_ |
Definition at line 268 of file stm32_can.hpp.
Definition at line 271 of file stm32_can.hpp.
ClassicPack LibXR::STM32CAN::pack |
Definition at line 276 of file stm32_can.hpp.
LockFreeQueue<ClassicPack> LibXR::STM32CAN::tx_queue_ |
Definition at line 269 of file stm32_can.hpp.
uint32_t LibXR::STM32CAN::txMailbox |
Definition at line 285 of file stm32_can.hpp.