libxr  1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
gpio.hpp
1#pragma once
2
3#include "libxr.hpp"
4
5namespace LibXR
6{
7
12class GPIO
13{
14 public:
28
34 enum class Pull : uint8_t
35 {
36 NONE,
37 UP,
38 DOWN
39 };
40
50
52
57
61 GPIO() {}
62
68 virtual bool Read() = 0;
69
76 virtual ErrorCode Write(bool value) = 0;
77
82 virtual ErrorCode EnableInterrupt() = 0;
83
88 virtual ErrorCode DisableInterrupt() = 0;
89
95 virtual ErrorCode SetConfig(Configuration config) = 0;
96
102 ErrorCode RegisterCallback(Callback callback)
103 {
104 callback_ = callback;
105 return ErrorCode::OK;
106 }
107};
108
109} // namespace LibXR
通用输入输出(GPIO)接口类。General Purpose Input/Output (GPIO) interface class.
Definition gpio.hpp:13
Callback callback_
GPIO 事件的回调函数。Callback function for GPIO events.
Definition gpio.hpp:56
virtual bool Read()=0
读取 GPIO 引脚状态。Reads the GPIO pin state.
virtual ErrorCode SetConfig(Configuration config)=0
配置 GPIO 引脚参数。Configures the GPIO pin settings.
virtual ErrorCode Write(bool value)=0
写入 GPIO 引脚状态。Writes the GPIO pin state.
virtual ErrorCode EnableInterrupt()=0
使能 GPIO 引脚中断。Enables the GPIO pin interrupt.
virtual ErrorCode DisableInterrupt()=0
禁用 GPIO 引脚中断。Disables the GPIO pin interrupt.
Direction
定义 GPIO 引脚的方向类型。Defines the direction types for GPIO pins.
Definition gpio.hpp:20
@ OUTPUT_PUSH_PULL
推挽输出模式。Push-pull output mode.
@ RISING_INTERRUPT
上升沿中断模式。Rising edge interrupt mode.
@ FALL_RISING_INTERRUPT
双沿触发中断模式。Both edge interrupt mode.
@ OUTPUT_OPEN_DRAIN
开漏输出模式。Open-drain output mode.
@ INPUT
输入模式。Input mode.
@ FALL_INTERRUPT
下降沿中断模式。Falling edge interrupt mode.
ErrorCode RegisterCallback(Callback callback)
注册 GPIO 事件回调函数。Registers a callback function for GPIO events.
Definition gpio.hpp:102
GPIO()
默认构造函数。Default constructor.
Definition gpio.hpp:61
Pull
定义 GPIO 引脚的上拉/下拉模式。Defines the pull-up/pull-down configurations for GPIO pins.
Definition gpio.hpp:35
@ NONE
无上拉或下拉。No pull-up or pull-down.
@ DOWN
下拉模式。Pull-down mode.
@ UP
上拉模式。Pull-up mode.
LibXR 命名空间
Definition ch32_gpio.hpp:9
存储 GPIO 配置参数的结构体。Structure storing GPIO configuration parameters.
Definition gpio.hpp:46
Pull pull
GPIO 上拉/下拉配置。GPIO pull-up/pull-down configuration.
Definition gpio.hpp:48
Direction direction
GPIO 引脚方向。GPIO pin direction.
Definition gpio.hpp:47