luat_soc_sdk_2024 V1.0
|
#include "luat_base.h"
#include "luat_gpio_legacy.h"
结构体 | |
struct | luat_gpio_cfg |
GPIO控制参数 更多... | |
宏定义 | |
#define | LUAT_GPIO_PIN_MAX (128) |
#define | LUAT_GPIO_LOW (Luat_GPIO_LOW) |
GPIO配置为低电平 | |
#define | LUAT_GPIO_HIGH (Luat_GPIO_HIGH) |
GPIO配置为高电平 | |
#define | LUAT_GPIO_OUTPUT (Luat_GPIO_OUTPUT) |
GPIO配置为输出模式 | |
#define | LUAT_GPIO_INPUT (Luat_GPIO_INPUT) |
GPIO配置为输入模式 | |
#define | LUAT_GPIO_IRQ (Luat_GPIO_IRQ) |
GPIO配置为中断模式 | |
#define | LUAT_GPIO_DEFAULT (Luat_GPIO_DEFAULT) |
GPIO配置为默认模式,EC618平台,上下拉只对输出模式有效,输入模式只有默认上下拉或者取消上下拉,普通的GPIO配置为LUAT_GPIO_DEFAULT,表示完全关闭上下拉;AGPIO软件上不支持配置上下拉,即使配置了也无效,一直是硬件开机或者复位时的默认状态 | |
#define | LUAT_GPIO_PULLUP (Luat_GPIO_PULLUP) |
GPIO配置为上拉模式 | |
#define | LUAT_GPIO_PULLDOWN (Luat_GPIO_PULLDOWN) |
GPIO配置为下拉模式 | |
#define | LUAT_GPIO_RISING_IRQ (Luat_GPIO_RISING) |
上升沿中断 | |
#define | LUAT_GPIO_FALLING_IRQ (Luat_GPIO_FALLING) |
下降沿中断 | |
#define | LUAT_GPIO_BOTH_IRQ (Luat_GPIO_BOTH) |
上升沿 下降沿都中断 | |
#define | LUAT_GPIO_HIGH_IRQ (Luat_GPIO_HIGH_IRQ) |
GPIO配置为高电平中断模式 | |
#define | LUAT_GPIO_LOW_IRQ (Luat_GPIO_LOW_IRQ) |
GPIO配置为低电平模式 | |
#define | LUAT_GPIO_NO_IRQ (0xff) |
GPIO没有中断模式 | |
#define | LUAT_GPIO_MAX_ID (Luat_GPIO_MAX_ID) |
最大GPIO序号 | |
#define | LUAT_GPIO_NONE (0xff) |
类型定义 | |
typedef struct luat_gpio_cfg | luat_gpio_cfg_t |
GPIO控制参数 | |
枚举 | |
enum | LUAT_GPIO_CTRL_CMD_E { LUAT_GPIO_CMD_SET_PULL_MODE , LUAT_GPIO_CMD_SET_IRQ_MODE } |
GPIO上下拉\中断设置参数 更多... | |
函数 | |
void | luat_gpio_set_default_cfg (luat_gpio_cfg_t *gpio) |
GPIO设置默认参数 | |
int | luat_gpio_open (luat_gpio_cfg_t *gpio) |
打开GPIO | |
int | luat_gpio_set (int pin, int level) |
GPIO输出电平 | |
int | luat_gpio_get (int pin) |
读取GPIO输入电平 | |
void | luat_gpio_close (int pin) |
关闭GPIO | |
int | luat_gpio_set_irq_cb (int pin, luat_gpio_irq_cb cb, void *args) |
设置GPIO中断回调函数 | |
void | luat_gpio_pulse (int pin, uint8_t *level, uint16_t len, uint16_t delay_ns) |
GPIO模拟单线输出模式 | |
int | luat_gpio_ctrl (int pin, LUAT_GPIO_CTRL_CMD_E cmd, int param) |
GPIO上下拉\中断单独设置函数 | |
void | luat_gpio_iomux (int pin, int new_pad, uint8_t alt) |
int | luat_gpio_driver_ws2812b (int pin, uint8_t *data, uint32_t len, uint32_t frame_cnt, uint8_t bit0h, uint8_t bit0l, uint8_t bit1h, uint8_t bit1l) |
gpio方式输出bit0和bit1给WS2812B,不输出reset,由于严格的时序要求,会关闭中断来保证时序,因此驱动大量LED灯时会对其他驱动,甚至整个系统有影响。建议用多个GPIO分组驱动大量LED灯,1个GPIO最好不要超过32个灯 | |
void | luat_gpio_mode (int pin, int mode, int pull, int initOutput) |
#define LUAT_GPIO_PIN_MAX (128) |
在文件 luat_gpio.h 第 11 行定义.
void luat_gpio_mode | ( | int | pin, |
int | mode, | ||
int | pull, | ||
int | initOutput ) |