hal_entry.c 1.2 KB
Newer Older
S
Sherman 已提交
1 2 3 4 5 6
/*
 * Copyright (c) 2006-2021, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
S
Sherman 已提交
7 8
 * Date           Author        Notes
 * 2021-10-10     Sherman       first version
S
Sherman 已提交
9
 * 2021-11-03     Sherman       Add icu_sample
S
Sherman 已提交
10 11 12 13
 */

#include <rtthread.h>
#include "hal_data.h"
S
Sherman 已提交
14 15 16
#include <rtdevice.h>

#define LED3_PIN    BSP_IO_PORT_01_PIN_06
S
Sherman 已提交
17
#define USER_INPUT	"P105"
S
Sherman 已提交
18 19 20 21

void hal_entry(void)
{
    rt_kprintf("\nHello RT-Thread!\n");
S
Sherman 已提交
22

S
Sherman 已提交
23 24
    while (1)
    {
S
Sherman 已提交
25 26 27 28
        rt_pin_write(LED3_PIN, PIN_HIGH);
        rt_thread_mdelay(500);
        rt_pin_write(LED3_PIN, PIN_LOW);
        rt_thread_mdelay(500);
S
Sherman 已提交
29
    }
S
Sherman 已提交
30
}
S
Sherman 已提交
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53

void irq_callback_test(void *args)
{
    rt_kprintf("\n IRQ00 triggered \n");
}

void icu_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, irq_callback_test, RT_NULL);
    if(RT_EOK != err)
    {
        rt_kprintf("\n attach irq failed. \n");
    }
    err = rt_pin_irq_enable(pin, PIN_IRQ_ENABLE);
    if(RT_EOK != err)
    {
        rt_kprintf("\n enable irq failed. \n");
    }
}
MSH_CMD_EXPORT(icu_sample, icu sample);