Files
STC32G_Power_Monitor/Header/gpio.h
2025-08-31 21:43:17 +08:00

42 lines
975 B
C

#ifndef __GPIO_H__
#define __GPIO_H__
#include "common.h"
typedef enum
{
NOPULL = 0,
PULLUP = 1,
}PULL_enum;
typedef enum
{
P0_0 = 0x00, P0_1, P0_2, P0_3, P0_4, P0_5, P0_6, P0_7,
P1_0 = 0x10, P1_1, P1_2, P1_3, P1_4, P1_5, P1_6, P1_7,
P2_0 = 0x20, P2_1, P2_2, P2_3, P2_4, P2_5, P2_6, P2_7,
P3_0 = 0x30, P3_1, P3_2, P3_3, P3_4, P3_5, P3_6, P3_7,
P4_0 = 0x40, P4_1, P4_2, P4_3, P4_4, P4_5, P4_6, P4_7,
P5_0 = 0x50, P5_1, P5_2, P5_3, P5_4, P5_5, P5_6, P5_7,
P6_0 = 0x60, P6_1, P6_2, P6_3, P6_4, P6_5, P6_6, P6_7,
P7_0 = 0x70, P7_1, P7_2, P7_3, P7_4, P7_5, P7_6, P7_7,
}PIN_enum;
typedef enum
{
//pnm1 pnm0
GPIO = 0, //准双向口(弱上拉)
GPO_PP = 1, //推挽输出
GPI_IMPEDANCE = 2, //高阻输入
GPI_OD = 3, //开漏输出
}GPIOMODE_enum;
void gpio_set_level(PIN_enum pin, uint8 level);
uint8 gpio_get_level(PIN_enum pin);
void gpio_pull_set(PIN_enum pin, PULL_enum pull);
void gpio_mode(PIN_enum pin, GPIOMODE_enum mode);
#endif