鸿蒙研究站
|
官方文档
|
源码分析
== 鸿蒙内核参考手册 ==
内核注释
|
论坛
|
赞助作者
更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
virtual_serial.h
浏览该文件的文档.
1
/*
2
* Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved.
3
* Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without modification,
6
* are permitted provided that the following conditions are met:
7
*
8
* 1. Redistributions of source code must retain the above copyright notice, this list of
9
* conditions and the following disclaimer.
10
*
11
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
12
* of conditions and the following disclaimer in the documentation and/or other materials
13
* provided with the distribution.
14
*
15
* 3. Neither the name of the copyright holder nor the names of its contributors may be used
16
* to endorse or promote products derived from this software without specific prior written
17
* permission.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
23
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
29
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
*/
31
32
#ifndef _VIRTUAL_SERIAL_H
33
#define _VIRTUAL_SERIAL_H
34
35
#include "
los_config.h
"
36
#include "
fs/file.h
"
37
#if defined(LOSCFG_DRIVERS_USB_SERIAL_GADGET) || defined(LOSCFG_DRIVERS_USB_ETH_SER_GADGET)
38
#include "
implementation/usb_api_pri.h
"
39
#endif
40
41
#ifdef __cplusplus
42
#if __cplusplus
43
extern
"C"
{
44
#endif
/* __cplusplus */
45
#endif
/* __cplusplus */
46
/*
47
鸿蒙将 PIN、I2C、SPI、USB、UART 等作为外设设备,统一通过设备注册完成。
48
实现了按名称访问的设备管理子系统,可按照统一的 API 界面访问硬件设备。
49
在设备驱动接口上,根据嵌入式系统的特点,对不同的设备可以挂接相应的事件。
50
当设备事件触发时,由驱动程序通知给上层的应用程序。
51
*/
52
53
#ifdef LOSCFG_FS_VFS
//将设备虚拟为文件统一来操作,对鸿蒙来说一切皆为文件
54
#define SERIAL "/dev/serial"
///< 虚拟串口设备
55
#define SERIAL_TTYGS0 "/dev/ttyGS0"
///< USB类型的串口
56
#define SERIAL_UARTDEV "/dev/uartdev"
///< Uart类型的串口
57
58
//UART(Universal Asynchronous Receiver/Transmitter)通用异步收发传输器,UART 作为异步串口通信协议的一种,
59
//工作原理是将传输数据的每个字符一位接一位地传输。是在应用程序开发过程中使用频率最高的数据总线。
60
61
#define SERIAL_TYPE_UART_DEV 1
///< 两种串口类型之 UART
62
#define SERIAL_TYPE_USBTTY_DEV 2
///< 两种串口类型之 USB
63
64
extern
INT32
virtual_serial_init
(
const
CHAR
*deviceName);
65
extern
INT32
virtual_serial_deinit
(VOID);
66
67
extern
UINT32
SerialTypeGet
(VOID);
68
69
typedef
struct
{
70
struct
file
*
filep
;
71
UINT32
mask
;
72
}
LOS_VIRSERIAL_CB
;
73
74
#endif
75
76
#ifdef __cplusplus
77
#if __cplusplus
78
}
79
#endif
/* __cplusplus */
80
#endif
/* __cplusplus */
81
82
#endif
/* _VIRTUAL_SERIAL_H */
file.h
los_config.h
INT32
signed int INT32
Definition:
los_typedef.h:60
UINT32
unsigned int UINT32
Definition:
los_typedef.h:57
CHAR
char CHAR
Definition:
los_typedef.h:63
LOS_VIRSERIAL_CB
Definition:
virtual_serial.h:69
LOS_VIRSERIAL_CB::filep
struct file * filep
Definition:
virtual_serial.h:70
LOS_VIRSERIAL_CB::mask
UINT32 mask
Definition:
virtual_serial.h:71
file
Definition:
vfs_file_mapping.c:69
usb_api_pri.h
SerialTypeGet
UINT32 SerialTypeGet(VOID)
Definition:
virtual_serial.c:64
virtual_serial_deinit
INT32 virtual_serial_deinit(VOID)
串口设备去初始化,其实就是注销驱动程序
Definition:
virtual_serial.c:324
virtual_serial_init
INT32 virtual_serial_init(const CHAR *deviceName)
虚拟串口初始化,注册驱动程序 ,例如 : deviceName = "/dev/uartdev-0"
Definition:
virtual_serial.c:282
kernel
common
virtual_serial.h
公众号:鸿蒙研究站(weharmonyos)
|
论坛: bbs.weharmonyos.com
| 制作者
鸿蒙研究站 | weharmonyos.com