搭建好开发环境后,先来测试下开发板的GPIO输出。
一、硬件电路
使用开发板上的LED灯来测试下GPIO的输出。
硬件电路图
使用PA4,PA7,PA25端口来驱动LED灯。
二、程序部分
2.1、led.c
//led.c
#include "board_config.h"
#include "drv/gpio_pin.h"
#include <drv/pin.h>
#include <aos/aos.h>
csi_gpio_pin_t pin_ledr;
csi_gpio_pin_t pin_ledg;
csi_gpio_pin_t pin_ledb;
void led_init(void)
{
csi_pin_set_mux(PA7, PIN_FUNC_GPIO); //led_r
csi_pin_set_mux(PA25, PIN_FUNC_GPIO); //led_g
csi_pin_set_mux(PA4, PIN_FUNC_GPIO); //led_b
csi_gpio_pin_init(&pin_ledr, PA7);
csi_gpio_pin_dir(&pin_ledr, GPIO_DIRECTION_OUTPUT);
csi_gpio_pin_init(&pin_ledg, PA25);
csi_gpio_pin_dir(&pin_ledg, GPIO_DIRECTION_OUTPUT);
csi_gpio_pin_init(&pin_ledb, PA4);
csi_gpio_pin_dir(&pin_ledb, GPIO_DIRECTION_OUTPUT);
csi_gpio_pin_write(&pin_ledr, GPIO_PIN_HIGH);
csi_gpio_pin_write(&pin_ledg, GPIO_PIN_HIGH);
csi_gpio_pin_write(&pin_ledb, GPIO_PIN_HIGH);
}
void led_test(void)
{
csi_gpio_pin_write(&pin_ledr, GPIO_PIN_LOW);
csi_gpio_pin_write(&pin_ledg, GPIO_PIN_HIGH);
csi_gpio_pin_write(&pin_ledb, GPIO_PIN_HIGH);
aos_msleep(500);
csi_gpio_pin_write(&pin_ledr, GPIO_PIN_HIGH);
csi_gpio_pin_write(&pin_ledg, GPIO_PIN_LOW);
csi_gpio_pin_write(&pin_ledb, GPIO_PIN_HIGH);
aos_msleep(500);
csi_gpio_pin_write(&pin_ledr, GPIO_PIN_HIGH);
csi_gpio_pin_write(&pin_ledg, GPIO_PIN_HIGH);
csi_gpio_pin_write(&pin_ledb, GPIO_PIN_LOW);
aos_msleep(500);
csi_gpio_pin_write(&pin_ledr, GPIO_PIN_HIGH);
csi_gpio_pin_write(&pin_ledg, GPIO_PIN_HIGH);
csi_gpio_pin_write(&pin_ledb, GPIO_PIN_HIGH);
aos_msleep(500);
}
2.2、led.h
#ifndef LED_H
#define LED_H
void led_init(void);
void led_test(void);
#endif
2.3、main.c
/*
* Copyright (C) 2019-2020 Alibaba Group Holding Limited
*/
#include <stdlib.h>
#include <string.h>
#include <aos/aos.h>
#include "aos/cli.h"
#include "main.h"
#include "app_init.h"
#include "oled.h"
#include "led.h"
#define TAG "app"
int main(void)
{
board_yoc_init();
LOGD(TAG, "%s\n", aos_get_app_version());
oled_init();
led_init();
while (1) {
LOGD(TAG, "Hello world! YoC");
//aos_msleep(1000);
led_test();
}
return 0;
}
三、运行结果
引用: 火辣西米秀 发表于 2022-3-24 21:03 下面准备测什么呢
测试下外部中断 ^_^