实验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){

这篇日志详细记录了使用OpenHarmony在启航KP_IOT主控板上进行GPIO、PWM及按键LED控制的实践过程。通过GPIO实验了解了通用输入输出的基本操作,PWM实验展示了如何实现LED呼吸灯效果,按键LED实验则探讨了边沿中断和软件防抖的应用。
最低0.47元/天 解锁文章
452

被折叠的 条评论
为什么被折叠?



