实验8 KO_GPIO
8.1 实验任务
本实验将演示如何在启航KP_IOT主控板上进行GPIO实验。
8.2 实验步骤
- 步骤1 GPIO初始化,设置输入输出方向
- 步骤2 设置GPIO状态
- 步骤3 修改 device/board/isoftstone/qihang/app /
路径下 BUILD.gn 文件,指定
gpio_led.c` 参与编译。
8.3 实验代码
#include <stdio.h>
#include <unistd.h>
#include "ohos_init.h"
#include "cmsis_os2.h"
#include "hi_gpio.h"
#include "hi_io.h"
#include "hi_task.h"
#define LED_IO HI_IO_NAME_GPIO_6
hi_void* led_main(hi_void *arg)
{
//set GPIO
(void)hi_io_set_func(LED_IO,HI_IO_FUNC_GPIO_6_GPIO);
//set dir
(void)hi_gpio_set_dir(LED_IO,HI_GPIO_DIR_OUT);
//output high level
(void)hi_gpio_set_ouput_val(LED_IO,HI_GPIO_VALUE1);
//blink
while(1)
{
(void)hi_gpio_set_ouput_val(LED_IO,HI_GPIO_VALUE1);
printf("turn on\n");
sleep(1);
(void)hi_gpio_set_ouput_val(LED_IO,HI_GPIO_VALUE0);
printf("turn off\n");
sleep(1);
}
}
static void LedExampleEntry(void)
{
hi_u32 taskid;
hi_task_attr attr =
{
.task_name = "led",
.task_prio = 30,
.stack_size = 1024
};
hi_u32 ret = hi_task_create(&taskid, &attr, led_main, HI_NULL);
if(ret!=HI_ERR_SUCCESS){
printf