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)17 void 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)30 void irq_callback_test(void *args)
31 {
32     rt_kprintf("\n IRQ03 triggered \n");
33 }
34 
icu_sample(void)35 void 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