2. 调用rt_pin_attach_irq函数,将引脚号、触发方式以及对应的中断服务程序作为参数传入。 3. 在中断服务程序中编写相关的处理逻辑,例如读取外设状态、清除中断标志等。 4. 在初始化的时候,需要使能外部中断,可以调用rt_pin_irq_enable函数来实现。 三、注意事项 在使用rt_pin_attach_irq函数时需要注意以下几点: ...
5)pin_attach_irq:中断操作,为某个引脚绑定一个中断回调函数,使能中断后,当中断到来时调用该函数。 6)pin_irq_enable:中断操作,开启或关闭中断。 7)pin_detach_irq:中断操作,脱离某个引脚的中断回调函数。 (2)引脚编号的作用 不同厂商对引脚的定义不相同,确定一个引脚所需的参数也不同,举例如下。 1)ST:引...
rt_pin_mode(PIN_KEY0, PIN_MODE_INPUT_PULLUP); /*绑定中断回调函数,下降沿模式,回调函数参数为字符串"--By ZhengNian" */ rt_pin_attach_irq(PIN_KEY0, PIN_IRQ_MODE_FALLING, hdr_callback, (void*)"--By ZhengNian"); /*使能引脚中断*/ rt_pin_irq_enable(PIN_KEY0, PIN_IRQ_ENABLE); ...
rt_base_t value); 5/* 读取引脚电平 */ 6int rt_pin_read(rt_base_t pin); 7/* 绑定引脚中断回调函数 */ 8rt_err_t rt_pin_attach_irq(rt_int32_t pin, rt_uint32_t mode, void (*hdr)(void *args), void *args); 9/* 使能...
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_base_t pin, rt_uint32_t enabled); ...
18rt_err_terr = rt_pin_attach_irq(pin, PIN_IRQ_MODE_LOW_LEVEL, gpio_test, RT_NULL); 19if(RT_EOK != err) 20{ 21rt_kprintf(" attach irq failed. rn"); 22} 23err = rt_pin_irq_enable(pin, PIN_IRQ_ENABLE); 24if(RT_EOK != err) ...
}INIT_APP_EXPORT(wifi_spi_device_init);staticvoidint_wifi_irq(void*p){ ((void)p);spi_wifi_isr(0); }voidspi_wifi_hw_init(void){rt_pin_attach_irq(RA_RW007_INT_BUSY_PIN, PIN_IRQ_MODE_FALLING, int_wifi_irq,0);rt_pin_irq_enable(RA_RW007_INT_BUSY_PIN, RT_TRUE); ...
rt_pin_attach_irq(PIN_KEY1, PIN_IRQ_MODE_FALLING, irq_callback, (void *) PIN_KEY1); rt_pin_attach_irq(PIN_WK_UP, PIN_IRQ_MODE_FALLING, irq_callback, (void) PIN_WK_UP); /使能中断/ rt_pin_irq_enable(PIN_KEY1, PIN_IRQ_ENABLE); ...
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...