7#include "luat_gpio_legacy.h"
10#ifndef LUAT_GPIO_PIN_MAX
11#define LUAT_GPIO_PIN_MAX (128)
19#define LUAT_GPIO_LOW (Luat_GPIO_LOW)
20#define LUAT_GPIO_HIGH (Luat_GPIO_HIGH)
22#define LUAT_GPIO_OUTPUT (Luat_GPIO_OUTPUT)
23#define LUAT_GPIO_INPUT (Luat_GPIO_INPUT)
24#define LUAT_GPIO_IRQ (Luat_GPIO_IRQ)
26#define LUAT_GPIO_DEFAULT (Luat_GPIO_DEFAULT)
27#define LUAT_GPIO_PULLUP (Luat_GPIO_PULLUP)
28#define LUAT_GPIO_PULLDOWN (Luat_GPIO_PULLDOWN)
30#define LUAT_GPIO_RISING_IRQ (Luat_GPIO_RISING)
31#define LUAT_GPIO_FALLING_IRQ (Luat_GPIO_FALLING)
32#define LUAT_GPIO_BOTH_IRQ (Luat_GPIO_BOTH)
33#define LUAT_GPIO_HIGH_IRQ (Luat_GPIO_HIGH_IRQ)
34#define LUAT_GPIO_LOW_IRQ (Luat_GPIO_LOW_IRQ)
35#define LUAT_GPIO_NO_IRQ (0xff)
37#define LUAT_GPIO_MAX_ID (Luat_GPIO_MAX_ID)
40#define LUAT_GPIO_NONE (0xff)
135int 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);
int luat_gpio_set_irq_cb(int pin, luat_gpio_irq_cb cb, void *args)
设置GPIO中断回调函数
struct luat_gpio_cfg luat_gpio_cfg_t
GPIO控制参数
int luat_gpio_get(int pin)
读取GPIO输入电平
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分组驱动大量LE...
void luat_gpio_iomux(int pin, int new_pad, uint8_t alt)
int luat_gpio_set(int pin, int level)
GPIO输出电平
void luat_gpio_pulse(int pin, uint8_t *level, uint16_t len, uint16_t delay_ns)
GPIO模拟单线输出模式
void luat_gpio_close(int pin)
关闭GPIO
void luat_gpio_set_default_cfg(luat_gpio_cfg_t *gpio)
GPIO设置默认参数
int luat_gpio_ctrl(int pin, LUAT_GPIO_CTRL_CMD_E cmd, int param)
GPIO上下拉\中断单独设置函数
int luat_gpio_open(luat_gpio_cfg_t *gpio)
打开GPIO
LUAT_GPIO_CTRL_CMD_E
GPIO上下拉\中断设置参数
@ LUAT_GPIO_CMD_SET_PULL_MODE
@ LUAT_GPIO_CMD_SET_IRQ_MODE
void luat_gpio_mode(int pin, int mode, int pull, int initOutput)