鸿蒙上点亮LED灯
本文重点: 如何编写点亮 LED 灯程序 如何编译烧录点亮 LED 灯程序 如何调试点亮 LED 灯程序
步骤
步骤一: 添加点亮 LED 源码文件
①新增 my_led 文件夹
在 ./applications/BearPi/BearPi-HM_Nanomple 路径下新建一个 my_led 目录,用于存放业务源码文件。
②新增 led_example.c 文件
在 ./applications/BearPi/BearPi-HM_Nanomple/my_led 路径下新建一个 led_example.c 文件,该文件为业务源码文件。
③新增 BUILD.gn 文件
在 ./applications/BearPi/BearPi-HM_Nanomple/my_led 路径下新建一个 BUILD.gn 文件,该文件为业务源码编译脚本。
步骤二: 添加点亮 LED 灯源码
代码如下: #include #include #include "ohos_init.h" #include "wifiiot_gpio.h" #include "wifiiot_gpio_ex.h" void led(void){ GpioInit(); //初始化GPIO IoSetFunc(WIFI_IOT_IO_NAME_GPIO_2, WIFI_IOT_IO_FUNC_GPIO_2_GPIO);//设置GPIO_2的复用功能为普通GPIO GpioSetDir(WIFI_IOT_IO_NAME_GPIO_2, WIFI_IOT_GPIO_DIR_OUT);//设置GPIO_2为输出模式 GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,1);//设置GPIO_2输出高电平点亮LED灯 } APP_FEATURE_INIT(led);
步骤三: 编写业务编译构建文件 BUILD.gn
编写用于将业务构建成静态库的 BUILD.gn 文件:
在 ./applications/BearPi/BearPi-HM_Nanomple/my_led 下的 BUILD.gn 文件中添加如下代码: static_library("myled") { sources = [ "led.c" ] include_dirs = [ "//utils/native/lite/include", "//base/iot_hardware/interfaces/kits/wifiiot_lite" ] }
static_library 中指定业务模块的编译结果,为静态库文件 libmyled.a,开发者根据实际情况完成填写。
sources 中指定静态库 .a 所依赖的 .c 文件及其路径,若路径中包含"//"则表示绝对路径(此处为代码根路径),若不包含"//"则表示相对路径。
include_dirs 中指定 source 所需要依赖的 .h 文件路径。
步骤四: 编写模块编译构建文件 BUILD.gn
编写模块 BUILD.gn 文件,指定需参与构建的特性模块。
在 ./applications/BearPi/BearPi-HM_Nanomple 下的 BUILD.gn 文件中添加如下代码: import("//build/lite/config/component/lite_component.gni") lite_component("app") { features = [ "my_led:myled", ] }
my_led 是相对路径,指向: ./applications/BearPi/BearPi-HM_Nanomple/my_led/BUILD.gn
led 是目标,指向: ./applications/BearPi/BearPi-HM_Nanomple/my_led/BUILD.gn中的static_library("myled")
Led 闪烁实验
代码如下: 调试LED程序 #include "ohos_init.h" #include "unistd.h" #include "wifiiot_gpio.h" #include "wifiiot_gpio_ex.h" void led_delay(void){ GpioInit(); IoSetFunc(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_IO_FUNC_GPIO_2_GPIO); GpioSetDir(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_GPIO_DIR_OUT); for(int i = 0; i < 10; i++) { GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,1); usleep(1000000); GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,0); usleep(1000000); } } APP_FEATURE_INIT(led_delay);
总结
如下: #include "ohos_init.h" 包含APP_FEATURE_INIT这个函数 "//base/iot_hardware/interfaces/kits/wifiiot_lite" 相对路径在 Z:homebearpiBearPI_codebearpi-hm_nanobaseiot_hardwareinterfaceskitswifiiot_litewifiiot_gpio_ex.h Z:homebearpiBearPI_codebearpi-hm_nanobaseiot_hardwareinterfaceskitswifiiot_litewifiiot_gpio.h IoSetFunc————————》gpio的设置 GpioSetDir———————》gpio的模式
结果如下图:
复读你会后悔吗?不会,复读这件事我是真正的经历过得。那会是由于自己高考分数线没达到二本,所以决定复读一年,那一年是我学生生涯中最黑暗的一年,孤独,痛苦,烦躁,不安时刻围绕着我,但是那一年我坚持了下
前列腺钙化是一种很严重的病吗?很高兴有机会可以回答您的问题。随着体检逐渐普及,很多中青年男性在B超检查中,发现有前列腺钙化的问题。这是怎么回事呢?钙化,是指局部组织中有钙盐沉积。前列腺钙化的常见原因,是前列腺内
得了糖尿病能不能吃醪糟?糖尿病人在饮食上是需要多加注意的,饮食治疗对于血糖的稳定也很重要。糖尿病是一种慢性终身性疾病,因此,做好饮食管理显得尤为重要。得了糖尿病能不能吃醪糟?醪糟,也就酒酿,糯米酒甜米酒等
十年内,只玩一只股票,你愿意吗?我愿意啊,我觉得对于大部分的散户来说也是一件好事!在A股市场里能走出独立行情的个股根本不多,所以大部分的个股都是跟着A股的周期进行涨跌的,也就是说频繁换股不会给你带来多大的收益,也
比特币成为犯罪帮凶,还有投资价值吗?菜刀成为杀人利器,还有必要存在吗?说比特币是犯罪帮凶应该不成立,只有些人不知出于什么原因,说比特币能洗钱与转移财产,但十多年来没听说过谁干过这事,所以没有根据,比特币变现很难,中国
为什么有些明星整容还不承认呢?能变得更美,这不仅是普通人的心愿,更是靠脸吃饭的艺人们穷极一生追求的目标,其实就像化妆一样,适度微调体现的是对事业和观众的尊重,无论口碑如何,归根到底还是要看业务能力。但一向低调的
安徽阜阳有哪些明星?安徽阜阳的明星也有不少,虽说都不是特别有名,但都算是小有名气,下面小编来简单列举几个1王乐乐王乐乐,一九八五年出生于安徽省阜阳市,是安徽卫视的节目主持人。王乐乐这个名字还是比较大众
雷阿伦当年为何宁可降薪加盟死敌热火,也不愿意和凯尔特人续约?20112012赛季NBA经历了劳资纠纷后的一个缩水赛季,雷阿伦因为伤病仅仅代表球队出场了46次,他的三分命中率创造了生涯最高的45。3,但是他的出手次数,场均得分甚至于场均出场时
孩子厌学的根本原因是什么?孩子厌学,首先要弄清楚孩子厌学的原因,然后根据原因对孩子进行恰当的诱导。根据我的观察,孩子厌学有以下几种原因。一孩子迷恋上了网络,由于大人给了孩子一定的零用钱,或是去外面吃早餐的钱
有些人期货连续盈利四五年甚至更久,但有一天突然爆仓,什么原因?很多投资者交易个45年,赚点钱就说自己的交易系统已经稳定了,就说自己已经能够做到稳定盈利了,作为过来人我觉得45年的时间还是不够的,一波牛市有的时候能持续个56年,大家都知道顺趋势
皮肤发黄是什么原因?如果是皮肤暗黄,首先得意识到,角质层的含水量是不是偏低。如果含水量低,那么皮肤由于光线反射看起来,就暗黄暗沉一些。这样的情况可以考虑定期敷面膜补水,再用一些保湿性好一点的面霜,晚安