小安派学习 GPIO学习

[复制链接]
查看654 | 回复6 | 2023-10-17 21:24:26 | 显示全部楼层 |阅读模式

虽然我拿到的小安派并没有led灯,但是作为一个点灯爱好者,肯定是要点一个灯,因此我们就需要学习使用gpio。BL616/BL618 系统架构如下所示

Snipaste_2023-10-17_21-16-09.jpg

GPIO(General Purpose I/O Ports) 是通用输入/输出端口,用户可将其与外部硬件设备连接达到控制外部硬件设备的目的。

软件实现

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

board_init();

board_init`中开启时钟

gpio = bflb_device_get_by_name("gpio");

bflb_gpio_init(gpio, GPIO_PIN_0, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
bflb_gpio_init(gpio, GPIO_PIN_1, GPIO_INPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);

配置 GPIO 0 为 GPIO_OUTPUT 功能,GPIO 1 为 GPIO_INPUT 功能。

while (1) 
{
    bflb_gpio_set(gpio, GPIO_PIN_0);
    printf("GPIO_PIN_1=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_1));
    bflb_mtimer_delay_ms(2000);

    bflb_gpio_reset(gpio, GPIO_PIN_0);
    printf("GPIO_PIN_1=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_1));
    bflb_mtimer_delay_ms(2000);
}

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

#include "bflb_gpio.h" //包含库文件
#include "board.h"

struct bflb_device_s *gpio; 

int main(void)
{
    board_init();//系统初始化配置

    gpio = bflb_device_get_by_name("gpio");
    printf("gpio output\r\n");
    bflb_gpio_init(gpio, GPIO_PIN_0, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
    bflb_gpio_init(gpio, GPIO_PIN_1, GPIO_INPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);

    while (1) {
        bflb_gpio_set(gpio, GPIO_PIN_0);
        printf("GPIO_PIN_1=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_1));
        bflb_mtimer_delay_ms(2000);

        bflb_gpio_reset(gpio, GPIO_PIN_0);
        printf("GPIO_PIN_1=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_1));
        bflb_mtimer_delay_ms(2000);
    }
}

本帖被以下淘专辑推荐:

羡慕
回复

使用道具 举报

iiv | 2023-10-17 22:25:23 | 显示全部楼层
为点灯工程师点赞
回复 支持 反对

使用道具 举报

18350766600@139 | 2023-10-17 23:56:05 | 显示全部楼层
学习一下,谢谢分享
回复 支持 反对

使用道具 举报

爱笑 | 2023-10-18 08:34:13 | 显示全部楼层
学习~
用心做好保姆工作
回复

使用道具 举报

WangChong | 2023-10-18 08:34:18 | 显示全部楼层
学习了
回复

使用道具 举报

Jun | 2023-10-18 13:20:24 | 显示全部楼层
感谢分享
回复

使用道具 举报

496199544 | 2023-10-18 21:49:16 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则