Hi3861开发(VScode)
一、Helloworld+点亮LED
1.LED工作原理
LED (Light Emitting Diode) , 发光二极管, 是一种能够将电能转化为可见光的固态的半导体器件, 它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一 个支架上,一 端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个P-N结。 当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是L ED灯发光的原理。而光的波长也就是光的颜色,是由形成P-N结的材料决定的。Hi3861开发板L ED相关原理
图如图所示
在编写代码过程中其实和STM32编写非常相像,对于开发过STM32的小伙伴来说相对更加容易上手。
2.代码段
//helloworld+LED
#include <stdio.h>
#include "ohos_init.h"
#include <string.h>
#include <unistd.h>
#include "wifiiot_gpio.h"
#include "wifiiot_gpio_ex.h"
void Hello_World(void)
{
printf("Hello,i am led!!!\r\n");
GpioInit();
//使能
IoSetFunc(WIFI_IOT_IO_NAME_GPIO_6,WIFI_IOT_IO_FUNC_GPIO_6_GPIO);
//工作模式
GpioSetDir(WIFI_IOT_IO_NAME_GPIO_6,WIFI_IOT_GPIO_DIR_OUT);
//引脚输出模式
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_6,0);
while(true)
{
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_6,1);
sleep(1);
printf("-----------------------闪烁------------------------");
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_6,0);
sleep(1);
}
}
//APP_FEATURE_INIT(LED);//启动任务
APP_FEATURE_INIT(Hello_World);//启动任务
3.配置段
//applications/sample/wifi-iot/app/1.0_Hello_World文件夹build.gn
static_library("hello_world") {
sources = [
"hello_world.c"
]
include_dirs = [
"//utils/native/lite/include",
"//base/iot_hardware/interfaces/kits/wifiiot_lite",
]
}
//applications/sample/wifi-iot/app/BUILD.gn
import("//build/lite/config/component/lite_component.gni")
lite_component("app") {
features = [
"1.0_Hello_World:hello_world", #不要忘记 , 号
]
}