CAN
更新时间:2019-01-31 12:10:42
接口列表
接口详情
int32_t hal_can_init(can_dev_t *can)
描述 |
初始化指定CAN端口 |
参数 |
can:CAN设备描述,定义需要初始化的CAN参数 |
返回值 |
返回成功或失败, 返回0表示CAN初始化成功,非0表示失败 |
int32_t hal_can_filter_init(can_dev_t *can, const uint8_t filter_grp_cnt, can_filter_item_t *filter_config)
描述 |
初始化指定CAN端口滤波器 |
参数 |
i2c:CAN设备描述,定义需要初始化的I2C参数 |
|
filter_grp_cnt:滤波器计数值 |
|
filter_config:滤波器配置 |
返回值 |
返回成功或失败, 返回0表示I2C初始化成功,非0表示失败 |
int32_t hal_can_send(can_dev_t *can, can_frameheader_t tx_header, const void data, const uint32_t timeout)
描述 |
从指定的CAN端口发送数据 |
参数 |
can:CAN设备描述 |
|
tx_header:发送数据头 |
|
data:指向发送缓冲区的数据指针 |
|
timeout:超时时间(单位ms),如果希望一直等待设置为HAL_WAIT_FOREVER |
返回值 |
返回成功或失败, 返回0表示数据发送成功,非0表示失败 |
int32_t hal_can_recv(can_dev_t *can, can_frameheader_t rx_header, void data, const uint32_t timeout)
描述 |
从指定的CAN端口接收数据 |
参数 |
can:CAN设备描述 |
|
tx_header:接收数据头 |
|
data:指向接收缓冲区的数据指针 |
|
timeout:超时时间(单位ms),如果希望一直等待设置为HAL_WAIT_FOREVER |
返回值 |
返回成功或失败, 返回0表示成功接收,非0表示失败 |
int32_t hal_can_finalize(can_dev_t *can)
描述 |
关闭指定CAN端口 |
参数 |
can:CAN设备描述 |
返回值 |
类型:int 返回成功或失败, 返回0表示关闭成功,非0表示失败。 |
相关结数据结构
can_dev_t
typedef struct {
uint8_t port;
can_config_t config;
void *priv;
} can_dev_t;
can_config_t
typedef struct {
uint32_t baud_rate;
uint8_t ide;
uint8_t auto_bus_off;
uint8_t auto_retry_transmit;
} can_config_t;
can_frameheader_t
typedef struct {
uint32_t id;
uint8_t rtr;
uint8_t dlc;
} can_frameheader_t;
can_filter_item_t
typedef struct{
uint8_t rtr;
uint32_t check_id;
uint32_t filter_mask;
} can_filter_item_t;