然后又增加了按键测试
按键是在PC13接口上,对应RT-Thread 的GPIO驱动编号为45
#include <rtthread.h>
#include <rtdevice.h>
#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
#define LED_PIN 5
#define KEY_PIN 45
int led_init(void)
{
/* 设定 LED 引脚为推挽输出模式 */
rt_pin_mode(LED_PIN, PIN_MODE_OUTPUT);
return 0;
}
int led_toggle(void)
{
/* 调用 API 读出当前电平 然后输出相反电平 */
rt_pin_write(LED_PIN, !rt_pin_read(LED_PIN));
return 0;
}
int key_init(void)
{
//默认是低电平,按下是高电平
rt_pin_mode(KEY_PIN, PIN_MODE_INPUT);
return 0;
}
int main(void)
{
int count = 1;
int val=0;
led_init();
key_init();
while (count++)
{
rt_kprintf("Hello RT-Thread!\n");
rt_thread_mdelay(1000);
val=rt_pin_read(KEY_PIN);
rt_kprintf("key=%d\n",val);
led_toggle();
}
return RT_EOK;
}
通过串口打印出按键状态,顺便也证实,默认情况下是低电平,按下是高电平。
|