GPIO - input/output

本 demo 主要介绍 GPIO 0 输出和 GPIO 1 输入功能。

硬件连接

使用杜邦线将 GPIO 0 和 GPIO 1 引脚连接。

软件实现

更详细的代码请参考 examples/peripherals/gpio/gpio_input_output

1board_init();
  • board_init 中开启时钟

1gpio = bflb_device_get_by_name("gpio");
2
3bflb_gpio_init(gpio, GPIO_PIN_0, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
4bflb_gpio_init(gpio, GPIO_PIN_1, GPIO_INPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
  • 配置 GPIO 0 为 GPIO_OUTPUT 功能,GPIO 1 为 GPIO_INPUT 功能。

1while (1) {
2    bflb_gpio_set(gpio, GPIO_PIN_0);
3    printf("GPIO_PIN_1=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_1));
4    bflb_mtimer_delay_ms(2000);
5
6    bflb_gpio_reset(gpio, GPIO_PIN_0);
7    printf("GPIO_PIN_1=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_1));
8    bflb_mtimer_delay_ms(2000);
9}
  • bflb_gpio_set(gpio, GPIO_PIN_0) 将 GPIO 0 引脚置位

  • bflb_gpio_read(gpio, GPIO_PIN_1) 读取 GPIO 1 引脚电平

  • bflb_gpio_reset(gpio, GPIO_PIN_0) 将 GPIO 0 引脚置 0

编译和烧录

参考 环境搭建

实验现象

打印 GPIO 1 引脚电平。