rt_err_t rt_pin_attach_irq(rt_int32_t pin, rt_uint32_t mode, void (*hdr)(void *args), void *args); 中断触发模式 mode 可取如下 5 种宏定义值之一: #define PIN_IRQ_MODE_RISING 0x00 /* 上升沿触发 */ #define PIN_IRQ_MODE_FALLING 0x0
struct rt_pin_ops{void(*pin_mode)(struct rt_device*device,rt_base_t pin,rt_base_t mode);void(*pin_write)(struct rt_device*device,rt_base_t pin,rt_base_t value);int(*pin_read)(struct rt_device*device,rt_base_t pin);rt_err_t(*pin_attach_irq)(struct rt_device*device,rt_int...
void rt_pin_write(rt_base_t pin, rt_base_t value); int rt_pin_read(rt_base_t pin); rt_err_t rt_pin_attach_irq(rt_int32_t pin, rt_uint32_t mode, void (*hdr)(void *args), void *args); rt_err_t rt_pin_detach_irq(rt_int32_t pin); rt_err_t rt_pin_irq_enable(rt...
_err_t (*pin_attach_irq)(struct rt_device *device, rt_int32_t pin, rt_uint32_t mode, void (*hdr)(void *args), void *args); rt_err_t (*pin_detach_irq)(struct rt_device *device, rt_int32_t pin); rt_err_t (*pin_irq_enable)(struct rt_device *device, rt_base_t pin,...
rt_uint32_t mode, void (*hdr)(void *args), void *args); rt_err_t (*pin_detach_irq)(struct rt_device *device, rt_int32_t pin); rt_err_t (*pin_irq_enable)(struct rt_device *device, rt_base_t pin, rt_uint32_t enabled); ...
static void ra_pin_mode(rt_device_t dev, rt_base_t pin, rt_uint8_t mode) { fsp_err_t err; /Initialize the IOPORT module and configure the pins */ @@ -154,7 +154,7 @@ static void ra_pin_mode(rt_device_t dev, rt_base_t pin, rt_base_t mode) ...
rt_pin_detach_irq() 脱离引脚中断回调函数 rt_err_t rt_pin_detach_irq(rt_int32_t pin) 我们可以发现,上面的 PIN 设备管理接口的操作函数,与我们将的通用的函数完全不一样,如下图: 这也是为什么我们将设备示例的时候没有先讲 PIN 设备的原因,怕很多小伙伴刚开始不理解,那么为什么会这样呢? 1.2 PIN 设...
void wakeup_sample(void){/* init */rt_uint32_t pin = rt_pin_get(USER_INPUT);rt_kprintf("\n pin number : 0x%04X \n", pin);rt_err_t err = rt_pin_attach_irq(pin, PIN_IRQ_MODE_RISING, wakeup_callback, RT_NULL);if ...
rt_base_t pin,rt_uint8_t mode, void (*hdr)(void *args), void *args);rt_err_t (*pin_detach_irq)(struct rt_device *device, rt_base_t pin);rt_err_t (*pin_irq_enable)(struct rt_device *device, rt_base_t pin, rt_uint8_t enabled);rt_base_t (*pin_get)(const char *name...
_t pin); /* TODO: add GPIO interrupt */ rt_err_t (*pin_attach_irq)(struct rt_device *device, rt_int32_t pin, rt_uint32_t mode, void (*hdr)(void *args), void *args); rt_err_t (*pin_detach_irq)(struct rt_device *device, rt_int32_t pin); rt_err_t (*pin_irq_...