然后又增加了按键测试
按键是在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;
- }
通过串口打印出按键状态,顺便也证实,默认情况下是低电平,按下是高电平。
|