1 /* 2 * Copyright (c) 2006-2021, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2021-10-10 Sherman first version 9 */ 10 #include <rtthread.h> 11 #include "hal_data.h" 12 #include <rtdevice.h> 13 14 #define LED1_PIN "P502" /* Onboard LED pins */ 15 #define USER_INPUT "P004" 16 hal_entry(void)17void hal_entry(void) 18 { 19 rt_kprintf("\nHello RT-Thread!\n"); 20 rt_uint32_t led1_pin = rt_pin_get(LED1_PIN); 21 while (1) 22 { 23 rt_pin_write(led1_pin, PIN_HIGH); 24 rt_thread_mdelay(500); 25 rt_pin_write(led1_pin, PIN_LOW); 26 rt_thread_mdelay(500); 27 } 28 } 29 irq_callback_test(void * args)30void irq_callback_test(void *args) 31 { 32 rt_kprintf("\n IRQ03 triggered \n"); 33 } 34 icu_sample(void)35void icu_sample(void) 36 { 37 /* init */ 38 rt_uint32_t pin = rt_pin_get(USER_INPUT); 39 rt_kprintf("\n pin number : 0x%04X \n", pin); 40 rt_err_t err = rt_pin_attach_irq(pin, PIN_IRQ_MODE_RISING, irq_callback_test, RT_NULL); 41 if (RT_EOK != err) 42 { 43 rt_kprintf("\n attach irq failed. \n"); 44 } 45 err = rt_pin_irq_enable(pin, PIN_IRQ_ENABLE); 46 if (RT_EOK != err) 47 { 48 rt_kprintf("\n enable irq failed. \n"); 49 } 50 } 51 MSH_CMD_EXPORT(icu_sample, icu sample); 52