电子产业一站式赋能平台

PCB联盟网

搜索
查看: 1564|回复: 0
收起左侧

鸿蒙系统开发之实现LED灯闪烁

[复制链接]

2607

主题

2607

帖子

7472

积分

高级会员

Rank: 5Rank: 5

积分
7472
发表于 2020-11-18 17:56:52 | 显示全部楼层 |阅读模式
鸿蒙系统开发之实现LED灯闪烁,   
修改源码
目录结构 先在./applications/sample/wifi-iot/app路径下新建一个目录(或一套目录结构),用于存放业务源码文件。

本例程:在app下新增业务LED,其中hello_world.c为业务代码,BUILD.gn为编译脚本,具体规划目录结构如下:
. └── applications     └── sample         └── wifi-iot             └── app                 │── led                 │  │── led.c                 │  └── BUILD.gn                 └── BUILD.gn

业务代码。 新建./applications/sample/wifi-iot/app/led下的led.c文件,在led.c中新建业务入口函数led,并实现业务逻辑。并在代码最下方,使用HarmonyOS启动恢复模块接口SYS_RUN()启动业务。(SYS_RUN定义在ohos_init.h文件中) 1.   BUILD.gn为编译脚本 2.   led.c为业务逻辑代码所在文件
led.c
#include <stdio.h> #include <unistd.h> #include “ohos_init.h“ #include “cmsis_os2.h“ #include “wifiiot_gpio.h“ #include “wifiiot_gpio_ex.h“ #define LED_ON_TIME_US 2000000 #define LED_OFF_TIME_US 1000000 static void Led(void) {     //GPIO引脚初始化     GpioInit();     //设置管脚功能为GPIO     IoSetFunc(WIFI_IOT_IO_NAME_GPIO_9,WIFI_IOT_IO_FUNC_GPIO_9_GPIO);     //设置GPIO引脚方向为输出     GpioSetDir(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_DIR_OUT);     while (1) {         //设置GPIO09输出为低电平         GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 0);         //打印输出日志         printf(“[DEMO] LED on.\n“);         //延时一定时间,即亮灯的持续时间         usleep(LED_ON_TIME_US);         //设置GPIO09输出为高电平         GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 1);         //打印输出日志         printf(“[DEMO] LED off.\n“);         //延时一定时间,即灭灯的持续时间         usleep(LED_OFF_TIME_US);     } } SYS_RUN(Led);

BUILD.gn
(app/BUILD.gn)
static_library(“bahuyang“) {     sources = [         “led.c“     include_dirs = [         “//utils/native/lite/include“,         “//kernel/liteos_m/components/cmsis/2.0“,         “//base/iot_hardware/inteRFaces/kits/wifiiot_lite“, }                                                                  
1.   “bahuyang”:是生成静态库名称,可随意更改 2.   “led.c”:代码文件
BUILD.gn
()

11.png (45.56 KB, 下载次数: 0)
下载附件  保存到相册  
15 分钟前 上传
1.   将“startup“注释,运行我们自己的文件 2.   “led”:工程目录 3.   bahuyang:静态库文件
编译烧录
编译

4.png (84.86 KB, 下载次数: 0)

下载附件  保存到相册  

28 分钟前 上传

利用HiBurn工具进行烧录,我在以前的文章里,详细讲过。



5.png (115.31 KB, 下载次数: 0)

下载附件  保存到相册  

28 分钟前 上传

选定文件后,点击connect,按下开发板复位按钮,进行烧录。

烧录完成后,再次按下复位按键。
观察现象

选择波特率115200,连接相应串口,观看串口调试助手的结果。







6.png (12.06 KB, 下载次数: 0)

下载附件  保存到相册  

27 分钟前 上传 LED灯实现闪烁了。

12.png (261.6 KB, 下载次数: 0)

下载附件  保存到相册  

16 分钟前 上传

13.png (269.2 KB, 下载次数: 0)

下载附件  保存到相册  

15 分钟前 上传
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表