69 lines
1.2 KiB
C
69 lines
1.2 KiB
C
/**
|
||
* @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 <stddef.h>
|
||
|
||
|
||
#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
|
||
|