XWOS API
4.0
XWOS C/C++ API参考手册
|
玄武设备栈:CAN:总线控制器 更多...
#include <xwcd/ds/standard.h>
#include <xwos/lib/xwbop.h>
#include <xwos/osal/lock/spinlock.h>
#include <xwos/osal/sync/sem.h>
#include <xwcd/ds/device.h>
#include <xwcd/ds/i2c/peripheral.h>
#include <xwcd/ds/spi/peripheral.h>
结构体 | |
struct | xwds_can_msg |
CAN消息 更多... | |
struct | xwds_canc_bd_cfg |
CAN总线控制器波特率配置 更多... | |
struct | xwds_canc_txobj_cfg |
CAN发送对象(消息)配置 更多... | |
struct | xwds_canc_rxobj_cfg |
CAN接收对象(消息)配置 更多... | |
struct | xwds_canc_cfg |
CAN控制器配置 更多... | |
struct | xwds_canc_driver |
BSP中需要提供的CAN控制器驱动函数表 更多... | |
struct | xwds_canc_cbtbl |
CAN控制器应用层回调函数表 更多... | |
struct | xwds_canc_rxqueue |
CAN控制器接收队列 更多... | |
struct | xwds_canc |
CAN控制器 更多... | |
宏定义 | |
#define | __xwds_canc_cbtbl_qualifier |
#define | XWDS_CANC_RXQNUM (XWCDCFG_ds_CAN_CONTROLLER_RXQNUM) |
#define | XWDS_CANC_SDU_MAXSIZE (XWCDCFG_ds_CAN_CONTROLLER_SDU_MAXSIZE) |
枚举 | |
enum | xwds_can_msgflag_em { XWDS_CAN_MSG_F_EXID = (1U) , XWDS_CAN_MSG_F_REMOTE = (2U) } |
CAN消息标志枚举 更多... | |
enum | xwds_canc_hwobj_type_em { XWDS_CANC_HWOBJ_T_ID_STD = ((xwbmp_t)1 << ( 0 )) , XWDS_CANC_HWOBJ_T_ID_EXT = ((xwbmp_t)1 << ( 1 )) , XWDS_CANC_HWOBJ_T_ID_MIXED = ((xwbmp_t)1 << ( 0 )) | ((xwbmp_t)1 << ( 1 )) } |
CAN对象(消息)类型 更多... | |
enum | xwds_canc_mode_em { XWDS_CANC_MODE_MIN = 0 , XWDS_CANC_MODE_UNINIT = XWDS_CANC_MODE_MIN , XWDS_CANC_MODE_STOPPED , XWDS_CANC_MODE_STARTED , XWDS_CANC_MODE_SLEEP , XWDS_CANC_MODE_NUM } |
CAN控制器的模式 更多... | |
enum | xwds_canc_err_em { CANC_ERR_NOERR = 0 , CANC_ERR_BUS , CANC_ERR_STUFF , CANC_ERR_FORM , CANC_ERR_ACK , CANC_ERR_CRC , CANC_ERR_B1 , CANC_ERR_B0 , CANC_ERR_ACKDELIMITER , CANC_ERR_PASSIVE , CANC_ERR_WARNING } |
CAN控制器的错误码 更多... | |
函数 | |
void | xwds_canc_construct (struct xwds_canc *canc) |
XWDS API:CAN控制器的构造函数 | |
void | xwds_canc_destruct (struct xwds_canc *canc) |
XWDS API:CAN控制器对象的析构函数 | |
xwer_t | xwds_canc_grab (struct xwds_canc *canc) |
XWDS API:增加对象的引用计数 | |
xwer_t | xwds_canc_put (struct xwds_canc *canc) |
XWDS API:减少对象的引用计数 | |
xwer_t | xwds_canc_write (struct xwds_canc *canc, xwid_t txobjid, struct xwds_can_msg *msg) |
XWDS API:将一条CAN消息写入发送邮箱 | |
xwer_t | xwds_canc_enable_irqs (struct xwds_canc *canc) |
XWDS API:开启CAN控制器的中断 | |
xwer_t | xwds_canc_disable_irqs (struct xwds_canc *canc) |
XWDS API:关闭CAN控制器的中断 | |
xwer_t | xwds_canc_set_mode (struct xwds_canc *canc, xwsq_t mode) |
XWDS API:设置CAN控制器的模式 | |
xwer_t | xwds_canc_set_bd (struct xwds_canc *canc, xwid_t bdcfgid) |
XWDS API:设置CAN控制器的波特率 | |
void | xwds_canc_setcb_tx_indication (struct xwds_canc *canc, void(*cb)(struct xwds_canc *, xwid_t, xwer_t)) |
XWDS API:设置 指示发送结果 的回调函数 | |
void | xwds_canc_setcb_rx_indication (struct xwds_canc *canc, void(*cb)(struct xwds_canc *, xwid_t, struct xwds_can_msg *)) |
XWDS API:设置 指示接收结果 的回调函数 | |
void | xwds_canc_setcb_wakeup_notification (struct xwds_canc *canc, void(*cb)(struct xwds_canc *)) |
XWDS API:设置 唤醒通知 回调函数 | |
void | xwds_canc_setcb_mode_indication (struct xwds_canc *canc, void(*cb)(struct xwds_canc *, xwsq_t)) |
XWDS API:设置 模式切换通知 回调函数 | |
void | xwds_canc_setcb_err_indication (struct xwds_canc *canc, void(*cb)(struct xwds_canc *, xwsq_t, xwsq_t, xwsq_t)) |
XWDS API:设置 错误通知 回调函数 | |
void | xwds_canc_setcb_busoff_indication (struct xwds_canc *canc, void(*cb)(struct xwds_canc *)) |
XWDS API:设置 BUSOFF通知 回调函数 | |
void | xwds_canc_rxq_init (struct xwds_canc_rxqueue *rxq) |
XWDS API:初始化接收缓冲队列 | |
void | xwds_canc_rxq_publish (struct xwds_canc_rxqueue *rxq, struct xwds_can_msg *msg) |
XWDS API:发布一条消息到接收缓冲队列中 | |
xwer_t | xwds_canc_rxq_acquire (struct xwds_canc_rxqueue *rxq, struct xwds_can_msg *buf, xwtm_t to) |
XWDS API:从接收缓冲队列中获取一条消息 | |
void | xwds_canc_drvcb_init_msg (struct xwds_can_msg *msg, xwu32_t canid, xwsq_t flag, xwsz_t dlc, xwu8_t sdu[]) |
XWDS Driver Callback:初始化CAN总线消息结构体 | |
void | xwds_canc_drvcb_tx_indication (struct xwds_canc *canc, xwid_t txobjid, xwer_t rc) |
XWDS Driver Callback:指示发送结果 | |
void | xwds_canc_drvcb_rx_indication (struct xwds_canc *canc, xwid_t rxobjid, struct xwds_can_msg *rxmsg) |
XWDS Driver Callback:接收到CAN消息后的回调函数 | |
void | xwds_canc_drvcb_wakeup_notification (struct xwds_canc *canc) |
XWDS Driver Callback:CAN控制器的唤醒通知 | |
void | xwds_canc_drvcb_mode_indication (struct xwds_canc *canc, xwsq_t mode) |
XWDS Driver Callback:指示CAN控制器的模式已经切换 | |
void | xwds_canc_drvcb_err_indication (struct xwds_canc *canc, xwsq_t errcode, xwsq_t tec, xwsq_t rec) |
XWDS Driver Callback:指示CAN控制器发生错误 | |
void | xwds_canc_drvcb_busoff_indication (struct xwds_canc *canc) |
XWDS Driver Callback:指示CAN控制器发生busoff | |
玄武设备栈:CAN:总线控制器
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
在文件 controller.h 中定义.