/** * @file cm_usb.h * @brief usb虚拟串口功能 * @copyright copyright © 2023 China Mobile IOT. All rights reserved. * @author by ZXW * @date 2023/8/4 * * @defgroup USB * @ingroup USB * @{ */ #ifndef __CM_USB_H__ #define __CM_USB_H__ #include #define CM_USB_EVT_INSERT 1 #define CM_USB_EVT_REMOVE 0 /** 定义USB接收回调*/ typedef void (*cm_usb2com_recv_cb)(void *data, int32_t len); /** 定义USB插拔事件回调*/ typedef void (*cm_usb2com_status_cb)(int32_t evt); /** * @brief 注册USB2COM接收回调函数 * * @param [in] recv_cb 接收回调函数 * * @return None * * @details 禁止跨多线程使用 */ void cm_usb2com_register_recv_cb(cm_usb2com_recv_cb recv_cb); /** * @brief USB2COM发送数据 * * @param [in] data 待发送数据 * @param [in] len 数据长度 * * @return 成功返回0,失败返回负值 * * @details 禁止跨多线程使用 */ int32_t cm_usb2com_send_data(void *data, int32_t len); /** * @brief 注册USB2COM插拔事件回调函数 * * @param [in] status_cb 插拔事件回调函数 * * @return None * * @details 禁止跨多线程使用 */ void cm_usb2com_register_status_cb(cm_usb2com_status_cb status_cb); #endif