【匠芯创D133CBS】 GPIO输入测试
本帖最后由 TL-LED 于 2024-8-13 09:00 编辑<p><span style="font-size:16px;">通过板子上的按键K3来测试GPIO输入中断。</span></p>
<p> </p>
<p><span style="font-size:16px;"><strong>一、硬件部分</strong></span></p>
<p> </p>
<p><span style="font-size:16px;">K3按键电路图</span></p>
<p><span style="font-size:16px;"></span></p>
<p> </p>
<p><strong><span style="font-size:16px;">二、程序部分</span></strong></p>
<p> </p>
<p><span style="font-size:16px;">2.1、添加测试目录</span></p>
<p><span style="font-size:16px;">在peripheral下添加测试test目录,创建key测试测试代码</span></p>
<p><span style="font-size:16px;"></span></p>
<p> </p>
<p><span style="font-size:16px;">2.2、key.c</span></p>
<pre>
<code>//key.c
#include <stdlib.h>
#include <string.h>
#include <getopt.h>
#include <sys/time.h>
#include <rtthread.h>
#include "rtdevice.h"
#include "aic_core.h"
#include "aic_hal_gpio.h"
#define INPUT_KEY_PIN "PD.15"
static void key_irq_handler(void *args)
{
printf("按键进入中断\n");
}
static void test_key_sample(void)
{
u32 key_pin_num;
key_pin_num = rt_pin_get(INPUT_KEY_PIN);
rt_pin_mode(key_pin_num, PIN_MODE_INPUT_PULLUP);
rt_pin_attach_irq(key_pin_num, PIN_IRQ_MODE_RISING_FALLING,key_irq_handler, RT_NULL);
rt_pin_irq_enable(key_pin_num, PIN_IRQ_ENABLE);
}
MSH_CMD_EXPORT(test_key_sample, key device sample);
</code></pre>
<p> </p>
<p><strong><span style="font-size:16px;">三、编译项目</span></strong></p>
<p> </p>
<p><span style="font-size:16px;">3.1、选择创建的key测试选项</span></p>
<p>执行 scons --menuconfig </p>
<p></p>
<p></p>
<p> </p>
<p><span style="font-size:16px;">3.2、编译</span></p>
<p></p>
<p> </p>
<p><strong><span style="font-size:16px;">四、运行</span></strong></p>
<p> </p>
<p><span style="font-size:16px;">下载程序后,复位开发板</span></p>
<p><span style="font-size: 16px;">执行test_key_sample,按下K3进入中断。</span></p>
<p></p>
<p> </p>
页:
[1]