第
3
章
C语言鸿蒙OS设备程序
开发方法和步骤
【本章学习目标】
(1)学会C语言鸿蒙OS 设备开发编译环境的使用。
(2)熟练掌握C语言鸿蒙OS 设备开发方法和开发步骤。
(3)掌握C语言鸿蒙OS 设备开发程序项目的结构和组成内容。
本章以点亮一只LED 灯的C语言设备开发程序案例,详细讲述利用本书第2 
章已经搭建好的C语言鸿蒙OS 设备开发环境,开发设计C语言设备程序的方法
和步骤。


..3.1 C 
语言鸿蒙OS 
设备程序开发方法

1

3.
Linu
如图3-1所示,C语言鸿蒙OS 设备开发必须同时使用Windows开发环境与
x编译环境,程序开发实验基于Hi3861 芯片的开发板,大致开发过程分为几
个步骤:代码编写,代码编译,镜像烧录,串口调试。程序员在Windows开发环境
完成C语言程序源代码的编辑和修改,在Linux编译环境中将编辑好的C语言程
序源代码编译成二进制的C语言程序可执行代码,然后再利用Windows开发环
境中的烧录软件Hiburn,将Linux编译环境中编译好的C语言程序可执行代
码,烧录到Hi3861 开发板中,最后在Hi3861 开发板中运行C语言程序可执行
代码。


图3-
1 C 
语言鸿蒙OS 
设备程序开发环境


第3章C语言鸿蒙OS设备程序开发方法和步骤97
其中,Linux编译环境通过在Windows上搭建Ubuntu虚拟机的方式来实现。通过
samba工具构建Linux本地虚拟机与Windows之间的共享文件夹,实现Windows环境与
Ubuntu环境的资源共享。获取鸿蒙OS 源码和支持开发板的源代码之后,将全部源码解压
存放在共享文件夹share下(本书设定的共享文件夹是share) 。
开发方法:首先在共享文件夹下完成C语言程序源代码编辑;然后在Ubuntu虚拟机
中完成C语言程序代码编译,编译生成的二进制可执行代码文件存放在源码目录下的out 
文件夹内,因为源码存放在共享文件夹下,所以编译生成的二进制可执行代码文件也存放在
共享文件夹下;最后在Windows环境中获取编译生成的二进制可执行代码文件,进行镜像
烧录与运行调试。
从图3-1可以看出,在程序的设备实验开发过程当中,软件的编译与执行不在同一设备
上进行,编译在电脑端执行,编译产物在开发板上执行,这一过程称为交叉编译。在硬件设
备的嵌入式开发当中,使用交叉编译的开发方式是极其必要的,这主要是因为嵌入式操作系
统的硬件资源过少,无法完成源代码的编译工作,这就需要将编译的工作交由资源更多的设
备进行,硬件设备只进行编译产物的执行工作。
3.2
..3.2C语言鸿蒙OS设备程序项目结构和内容
通常情况下C语言程序不是由一个文件组成的,而是由一些与该程序密切相关的源程
序代码文件,图形、图像、图标等资源文件,数据文件,配置文件,操作说明书等多个文件共同
组成。所以准确地说,一个C语言程序通常被称为一个C语言程序项目或者C语言程序工
程。当然,构成C语言程序项目的文件可视必要与否进行取舍。

本节以点亮一个Hi3861 开发板上的LED 灯的C语言程序项目为例,简要介绍一个C 
语言鸿蒙OS 程序项目的结构和内容。

图3-2形象地展示了一个C语言鸿蒙OS 程序项目的结构和内容,图中外带方框的
LED 和SOURCE_LED 是文件夹,而且SOURCE_LED 文件夹是LED 文件夹下面的子文
件夹。


图3-
2 
点亮LED 
灯的C语言鸿蒙OS 
程序项目结构和内容示意图

图3-2表示将点亮一个Hi3861 开发板上的LED 灯的C语言程序项目放在LED 主文
件夹里面进行管理,在LED 主文件夹里面存放了BUILD.n、config.son两个文件和一个
子文件夹SOURCE_LED,在子文件夹SOURCE_
gjgn和LED.

LED 里面存放了BUILD.c两
个文件。其中:LED 主文件夹里面的BUILD.n和SOURCE_LED 子文件夹里面的

gBUILD.n是两个与编译环境配置有关的文件,它们虽然名字相同,但是内容和作用却是不

g
同的;LED 主文件夹里面的config.son也是一个编译环境配置文件;SOURCE_LED 子文
件夹里面的LED.
j
它由实现程序功能所必需的

c是程序员编写的C语言程序源代码文件, 


98 鸿蒙OS智能设备开发基础(微课版) 
C语言程序代码组成,这个文件的扩展名必须是.c(小写的c)。
为便于组织和管理C语言鸿蒙OS程序项目,一般将C语言鸿蒙OS程序项目存放在
特定的文件夹下,而且不同厂商的程序项目要存放在自己特定的文件夹下,这是因为一个C 
语言鸿蒙OS程序项目,既有程序员自己编写的C语言程序源代码文件LED.c,也有程序员
自己编写的项目配置文件config.json和BUILD.gn,还有构成程序项目必不可少的鸿蒙OS 
操作系统文件和支持C语言鸿蒙OS开发的设备厂商提供的项目支撑文件。所有这些文件
相互依赖,相互协作,共同构成C语言鸿蒙OS程序项目,因此放在特定的文件夹下,便于这
种依赖关系的实施。
要想使用C语言编程来点亮一个Hi3861开发板上的LED灯,必须调用一些驱动开发
板工作的API(ApplicationProgrammingInterface)函数,本例中用到的API函数如表3-1 
所示。
表3-1 点亮一只LED 灯项目用到的API函数一览表
API函数功能描述
unsignedintIoTGpioInit(OUT_GPIO7) 初始化GPIO 端口
IoTGpioSetDir(WifiIotGpioIdxid,WifiIotGpioDirdir); 设置GPIO 引脚方向,id参数用于指定
引脚,dir参数用于指定输入或输出
IoTGpioSetOutputVal(WifiIotGpioIdx id, WifiIotGpioValue 
val); 
设置GPIO 引脚的输出状态,id参数用
于指定引脚,val参数用于指定高电平或
低电平
IoTGpioSetFunc(WifiIotNameid,unsignedcharval); 设置GPIO 引脚的功能,id参数用于指
定引脚,val参数用于指定引脚功能
APP_FEATURE_INIT(LED); 用于开发板引导启动程序模块 
点亮一个Hi3861开发板上的LED灯项目的各个文件的内容和作用分别介绍如下。
1.LED 主文件夹里面的BUILD.gn文件内容及作用 
group("LED") 
{ 
deps = ["SOURCE_LED:LED", 
"//device/bossay/hi3861_l0/sdk_liteos:wifiiot_sdk", 
"../common/iot_wifi:iot_wifi", 
] 
}
(1)C 语言鸿蒙OS 设备程序的编译结果可以是静态库(static_library)、动态库
(dynamic_library)、可执行文件或者group(组件),组件是鸿蒙OS系统最小的可复用、可配
置、可裁剪的功能单元。组件具备目录独立、可并行开发、可独立编译、可独立测试的特征。
(2)LED主文件夹里面的BUILD.gn文件是一个组件编译脚本文件,该文件的作用就
是设置组件编译的配置,也就是在编译C语言鸿蒙OS设备程序时,要根据这个文件的内容
来编译和生成编译目标结果。该文件中的group("LED")用以设置编译组件的目标名称
“LED”,就是组件的名称为“LED”,它和C语言程序的项目名称LED 保持了一致,遵循了

第3章 C语言鸿蒙OS设备程序开发方法和步骤 99 
编译目标名称和组件一致的原则。deps=["SOURCE_LED:LED","//device/bossay/ 
hi3861_l0/sdk_liteos:wifiiot_sdk","../common/iot_wifi:iot_wifi"]语句中:deps是英文单
词depends的缩写,汉语的意思是“依赖”,因此该句的含义为,编译构建LED 组件,需要依
靠LED文件夹下面SOURCE_LED 文件夹下的内容,以及保存在/device/bossay/hi3861_ 
l0/sdk_liteos:wifiiot_sdk和../common/iot_wifi:iot_wifi中的鸿蒙OS操作系统中有关无
线网络的开发包中的内容。
2.SOURCE_LED 文件夹里面的BUILD.gn文件内容及作用 
static_library("LED") 
{ 
sources = ["LED.c", ] 
include_dirs = [ 
"//utils/native/lite/include", 
"//base/iot_hardware/peripheral/interfaces/kits", 
"//device/bossay/hi3861_l0/iot_hardware_hals/include", 
"//device/bossay/hi3861_l0/sdk_liteos/include" 
] 
}
(1)SOURCE_LED主文件夹里面的BUILD.gn文件也是一个组件编译脚本文件,该
文件的作用是设置程序LED.c编译的配置,也就是在编译C语言程序LED.c时,要根据这
个文件的内容来编译和生成目标结果。static_library("LED")表明是要将LED.c编译成
静态库。
(2)sources= ["LED.c",]表明编译生成静态库的源代码文件来源于LED.c。
(3)include_dirs= [**** ]用于设置LED.c中#include包含语句的头文件的存储
路径。
3.SOURCE_LED 主文件夹里面的LED.c文件内容及作用 
#include <stdio.h> 
#include "ohos_init.h" 
#include "iot_gpio_ex.h" 
#include "iot_gpio.h" 
#define OUT_GPIO13 13 
static void LED(void) //定义静态函数LED 
{ 
IoTGpioInit(OUT_GPIO13); //初始化Hi3861 芯片GPIO13 个引脚(GPIO 端口) 
//设置Hi3861 芯片GPIO13 引脚的功能 
IoTGpioSetFunc(OUT_GPIO13,IOT_GPIO_FUNC_GPIO_13_GPIO); 
IoTGpioSetDir(OUT_GPIO13,IOT_GPIO_DIR_OUT); //设置写Hi3861 芯片GPIO13 引脚 
IoTGpioSetOutputVal(OUT_GPIO13, 1); //设置写高电平到Hi3861 芯片GPIO13 引脚
}A
PP_FEATURE_INIT(LED); //初始化且调用执行LED 组件程序
Hi3861芯片的GPIO13引脚连接着实验板上的一个LED灯(发光二极管),实际上实
验板上有排列成五角形的5个LED 灯,分别对应连接Hi3861芯片的GPIO9、GPIO10、
GPIO11、GPIO12、GPIO13引脚。将上述代码中的13分别全部改成9、10、11、12,然后编译
生成可执行代码,写入实验板看看都有哪个灯被点亮。

1 00 鸿蒙OS智能设备开发基础(微课版) 
4.LED 主文件夹里面的config.json文件内容及作用 
{ 
"product_name": "LED", 
"ohos_version": "鸿蒙OS 3.0", 
"device_company": "bossay", 
"board": "hi3861_l0", 
"kernel_type": "liteos_m", 
"kernel_version": "", 
"subsystems": 
[ 
{ 
"subsystem": "iot_hardware", 
"components": 
[ 
{ "component": "iot_controller", "features":[]} 
] 
}, 
{ 
"subsystem": "distributed_schedule", 
"components": 
[ 
{ "component": "samgr_lite", "features":[]} 
] 
}, 
{ 
"subsystem": "security", 
"components": 
[ 
{ "component": "hichainsdk", "features":[]}, 
{ "component": "deviceauth_lite", "features":[]}, 
{ "component": "huks", "features": 
[ 
"huks_config_file = \"hks_config_lite.h\"", 
"huks_mbedtls_path = \"//device/bossay/hi3861_l0/sdk_liteos/third_ 
party/mbedtls/include/\"" 
] 
} 
] 
}, 
{ 
"subsystem": "startup", 
"components": 
[ 
{ "component": "bootstrap_lite", "features":[]}, 
{ "component": "syspara_lite", "features": 
[ 
"enable_ohos_startup_syspara_lite_use_thirdparty_mbedtls = false" 
] 
}

第3章 C语言鸿蒙OS设备程序开发方法和步骤1 01 
] 
}, 
{ 
"subsystem": "utils", 
"components": 
[ 
{ "component": "file", "features":[]}, 
{ "component": "kv_store", "features":[]}, 
{ "component": "os_dump", "features":[]} 
] 
} 
], 
"third_party_dir": "//device/bossay/hi3861_l0/sdk_liteos/third_party", 
"product_adapter_dir": "//vendor/bossay/hi3861_l0/hals" 
} 
LED主文件夹下的config.json文件是一个组件编译配置文件,该文件的作用是设置在
编译生成LED产品组件时,需要用到的鸿蒙OS操作系统源码和鸿蒙智联创新开发板的支
持源码。因为鸿蒙OS操作系统是可裁剪的,在编译生成LED产品组件时,通过config文
件配置那些必要的鸿蒙OS组件即可,例如,在该config.json中就配置了必须的鸿蒙OS的
硬件子系统的"iot_controller"组件、分布式数据管理子系统的"samgr_lite组件、安全子系
统的部分组件和启动子系统的部分组件,以及鸿蒙智联创新开发板的部分支持代码。
3.3 
.. 3.3 点亮一只LED 灯的C语言设备程序开发步骤
本节以点亮一只LED灯的C语言鸿蒙OS设备程序开发为例,详细讲述C语言鸿蒙
OS设备程序开发的步骤。
1.准备好C语言鸿蒙OS设备程序编译环境
.................................................................................... 说明:在开发C语言鸿蒙OS程序之前,要先准备好C语言鸿蒙OS程序编译环
境,也就是要先在Windows工作台上运行虚拟机管理程序VMwareWorkstationPro,然后
再在虚拟机管理程序中启动Ubuntu版Linux虚拟机BossayUbuntu。
.................................................................................... 
如果虚拟机管理程序VMwareWorkstationPro和Linux虚拟机BossayUbuntu已经
运行,则省略此步。否则如图3-3所示,要运行虚拟机管理程序VMwareWorkstationPro 
并启动运行Linux虚拟机BossayUbuntu,为C语言鸿蒙OS设备开发准备好编译环境。
2.打开并运行VSCode,通过SSH 建立与虚拟机的连接
.................................................................................... 说明:VSCode程序是C语言鸿蒙OS程序的编辑软件,C语言鸿蒙OS程序项目
的所有文件都是使用VSCode程序来编辑的。
.................................................................................... 
如果VSCode程序已运行,则略过此步。否则在Windows工作台操作系统的桌面上

102鸿蒙OS智能设备开发基础(微课版) 
图3-3C语言鸿蒙OS设备开发虚拟机
找到如图3-4所示VSCode程序的快捷图标,双击它运行该程序,如果一切正常会出现VS 
图3-4VSCode程序
的快捷图标
Code程序运行主窗口如图3-5所示。如果在启动VSCode程序的过
程中出现如图3-6所示的“SSH 连接异常”窗口,意味着SSH 没有建
立与IP 地址为192.128 的虚拟机的连接,这有可能是由于虚

168.
249.
拟机刚启动、其SSH 服务还没有启动的情况下出现的问题,这时单击
图3-6所示的窗口中的Retry按钮,尝试再次进行SSH 连接,如果连
接成功,则出现如图3-5所示的窗口,VSCode程序完成正常启动。
如果尝试Retry几次问题还得不到解决,极有可能是由于SSH 连接
设置存在问题,需要重新检查并解决SSH 连接设置存在的问题。
图3-
5 
建立了SSH 
连接的VSCode程序的主窗口


第3章C语言鸿蒙OS设备程序开发方法和步骤103
图3-
6 
SSH 
连接异常

3.在VSCde程序中打开资源管理工具,使用DevEco添加新产品
在如图3-7所(o) 示的窗口中,单击窗口左侧列表中最上方的资源管理器图标


打开资源
管理器工具,然后单击资源管理器下方的CODE3项目,找到并且单击打开vendor,然后右
击vendor下面的bosay,这时会在右侧弹出菜单,接着单击弹出菜单最下方的“[DevEco]
开源鸿蒙”,在其右侧会弹出子菜单“添加新产品”,单击“添加新产品”,弹出“产品创建向
导”如图3-8所示。

4.使用DEo产品创建向导,设定产品基础信息
在如图3-8(e) 所(v) 示(c) 的窗口中,用键盘输入的方式在“供应商名称”下方的文本输入框中输
入“bosay”,在“产品名称”下方的文本输入框中输入点亮一只LED灯的项目名称“LED”, 
单击“开发板名称”下方列表框,在弹出的列表中选择“hi3861_IO”,产品名称保持“无”,设定
好的新产品的基础信息如图3-9所示,设定好产品基础信息后,单击窗口下方的“确定”键, 
回到如图3-10所示的窗口。要注意,刚回到该窗口时如果看不到新建的“LED”新产品项
目,这时必须单击“刷新资源管理器”图标后才能在vendor下面的bosay中见到新建的产
品项目“LED”。注意以后每次新建项目、文件夹、文件后,如果在bosay文件夹下看不到它
们都需要单击一下刷新图标,才能在列表中看到它。

5.检查一下新创建的LED 
项目的基础内容
在如图3-10所示的窗口中,单击“LED”项目,在其下方列出新建“LED”项目的两个文
gjg

件BUILD.n和config.son如图3-11所示。单击BUILD.n文件,可以在右侧文本编辑器
gg.

中编辑BUILD.n文件内容,如图3-12所示;单击confijson文件,就可以在右侧文本编辑


104鸿蒙OS智能设备开发基础(微课版) 
图3-
7 
VSCode程序运行的主窗口


图3-
8 
产品创建向导


第3章C语言鸿蒙OS设备程序开发方法和步骤105
图3-9产品基础信息
图3-10 
新建LED 
项目


106鸿蒙OS智能设备开发基础(微课版) 
图3-11 
新建LED 
项目的基础内容


图3-12 
编辑器中编辑文件BUILD.n

g


第3章C语言鸿蒙OS设备程序开发方法和步骤107
器中编辑config.json文件内容,如图3-13 所示。如此操作,想编辑任何一个文件,只要单击
文件名,该文件就会显示在编辑器中任由编辑了。
图3-13 
编辑器中编辑文件confi.son

gj

6. 
编辑保存LED 
项目根目录下的BUILD.n文件
g

.................................................................................... 
说明:这一步是程序员编辑LED 项目根目录下的BUILD.gn文件,用键盘输入文

件的内容,然后保存该文件。

.................................................................................... 

本步操作由以下3步完成。

1)在文本编辑器中打开LED 文件夹下的BUILD.n文件

g
在如图3-11 所示的窗口中,单击打开窗口左侧列表中文件夹LED,然后单击LED 文件
夹下面的文件BUILD.n,将其在编辑器中打开如图312 所示。

g2)使用文本编辑器编辑LED 文件夹下的BUILD.n文
件


g
如图3-14 所示,在确保内容、格式严格符合C语言程序规范的前提下,采用键盘输入的
方式,将本书3.gn代码输入, gn文件内容的

2节LED 主文件夹下的BUILD.完成BUILD.

编辑
3
。
)保存LED 文件夹下的BUILD.n文件

g
-
g


如图315 所示,编辑完文件BUILD.n的内容后,单击“文件”菜单,然后在弹出的子菜
单中单击“保存”,将BUILD.n的内容保存到磁盘上。凡是输入和修改后的文件内容,都需
要照此方法进行及时的保存
g
。


108鸿蒙OS智能设备开发基础(微课版) 
图3-14编辑器中编辑LED文件夹的BUILD.gn
图3保存文件BUILD.n的内容

-15 
g

7. 
编辑保存LED 
项目根目录下的confi.son文件
gj

本步操作由以下3步完成。
fg.1)在文本编辑器中打开LED 文件夹下的conijson文件
在如图3-11 所示的窗口中,单击打开窗口左侧列表中文件夹LED,然后单击LED 文件

夹下面的文件conijson,将其在编辑器中打开,如图313 所示。

fg.
2)使用文本编辑器编辑LED 文件夹下的conijson文
件
编辑config.son文件内容有以下两种方法。
fg.


j

(1)使用键盘输入的方式编辑config.son文件。
如图3-13 所示,在确保内容、格式严格符合C语言程序规范的前提下,采用键盘输入的
configj.son文件内容的编辑
onijon文件,
。
2节
jLED 主文件夹下的cnijo

方式,修改cfg.s将本书3.ofg.sn代码输入,完成


第3章C语言鸿蒙OS 
设备程序开发方法和步骤109 

(2)使用复制和粘贴的方式编辑cnijo
fg.
ofg.sn文件。

因为conijson文件的内容不但有点多,而且文件内容对于初学C语言的人来说也难
以读懂。用键盘输入编辑修改整个文件的内容,对于初学者来说有点困难,有时候还难免出
现错误,所以,初学者可以用复制粘贴的方式来输入config.son文件的内容。与本书配套

j
的网站提供了本书中所有的程序项目内容,每一个案例程序的文件都可以从网上下载,每个
案例项目中都有一个cofg.sn文件。初学者可以采用复制粘贴的方式来输入编辑
config.son文件的内容。
nijo

3)保存LED 文件夹下的conijson文件
编辑完文件
jconfigj.son的内容后
fg.
,单击VSCode的“文件”菜单,然后在弹出的子菜单
中单击“保存”,将conijson的内容保存到磁盘上。

fg.

8. 
在LED 
项目的文件夹LED 
下新建子文件夹SOURCE_LED 
.................................................................................... 
说明:这一步是程序员在LED 文件夹下创建一个子文件夹SOURCE_LED,在子
文件夹SOURCE_LED 下存放程序项目的源代码文件和编译配置文件,文件夹的名字由程
序员自己决定,但这个文件夹要创建在项目文件夹LED 下。

.................................................................................... 

在LED 文件夹下新建SOURCE_LED 文件夹有以下2种方法。

(1)在如图3-16 窗口中,右击LED 文件夹弹出菜单,然后单击菜单中的“新建文件夹”, 
在弹出的文本输入框中输入“SOURCE_LED”,输入完成后按回车键就在LED 文件夹下建
立了SOURCE_LED 文件夹,如图3-18 所示。
图3-16 
使用菜单在文件夹LED 
下创建子文件夹

(2)如图3-17 所示,首先单击打开LED 文件夹,然后单击“新建文件夹”按钮,接着在弹
出的文件夹名称输入框中输入“SOURCE_LED”,输入完成后按回车键就在LED 文件夹下
建立了SOURCE_LED 子文件夹,如图3-18 所示。

110鸿蒙OS智能设备开发基础(微课版) 
图3-17使用图标按钮在LED文件夹下新建文件夹
图3-18 
在LED 
文件夹下创建SOURCE_LED 
文件夹


第3章C语言鸿蒙OS 
设备程序开发方法和步骤111 

9. 
在LED 
项目的子文件夹SOURCE_LED 
下,新建编译配置文件BUILD.
gn 

.................................................................................... 
说明:这一步是程序员在LED 文件夹下边的子文件夹SOURCE_LED 中,创建程

序项目的编译配置文件BUILD.n,包括:创建这个文件的文件名、利用键盘输入文件的内

g
容以及文件内容输入完成后保存这个文件。要注意的是,这个文件和前面第6步编辑的文
件虽然名称相同,但是它们的内容不相同,作用也不一样,而且存放在不同的文件夹下。
.................................................................................... 

本步操作由以下3步完成。

1)在SOURCE_LED 文件夹下新建BUILD.n文件

在SOURCE_LED 文件夹下新建BUILD.ng
文件有以下2种方法。

g

(1)在如图3-19 所示的窗口中,右击SOURCE_LED 文件夹会弹出菜单,然后单击弹
出菜单中的“新建文件”,在弹出的文件名称输入框中输入“BUILD.n”,输入完成后按回车
键就在SOURCE_LED 文件夹下建立了文件BUILD.如图319 
g
所示。
gn, 


图3-19 
使用菜单在文件夹SOURCE_LED 
下新建文件

(2)如图3-20 所示,首先单击打开SOURCE_LED 文件夹,然后单击“新建文件”按钮, 
接着在弹出的文件名称输入框中输入“BUILD.n输入完成后按回车键就在SOURCE_,(”) 
gLED 文件夹下建立了BUILD.n文件,如图321 所示。

g2)编辑SOURCE_LED 文件夹下新建的BUILD.n文件
在如图321 所示的窗口中,保持文件BUILD.ng
处于打开编辑状态,然后用键盘在窗

-g
口右侧文本编辑器中输入本书3.2节中SOURCE_LED 文件夹下的文件BUILD.n的内

g
容,如图3-22 所示。需要说明的是,该文件内容的编辑,也可以用复制粘贴方式去完成。


112鸿蒙OS智能设备开发基础(微课版) 
图3-20 
使用图标按钮在SOURCE_LED 
文件夹新建文件


图3-21 
在SOURCE_LED 
文件夹新建文件BUILD.n

g


第3章C语言鸿蒙OS设备程序开发方法和步骤113
图3-22编辑文件BUILD.gn文件
3)保存SOURCE_LED 文件夹下编辑好的BUILD.n文
件
-ggod


如图323 所示,编辑好文件BUILD.n的内容后,要及时单击VSCe程序的“文件” 
菜单,然后在弹出的子菜单中单击“保存”,及时将BUILD.n的内容保存到磁盘上。

g


图3-23 
保存SOURCE_LED 
文件夹下的BUILD.n文件

g


114 
鸿蒙OS 
智能设备开发基础(微课版) 

10. 
在LED 
项目的子文件夹SOURCE_LED 
下新建C语言程序源代码文件LED.
c 

.................................................................................... 
说明:这一步是在LED 文件夹下边的子文件夹SOURCE_LED 里面,创建程序项
目的C语言程序代码文件LED.c,包括:创建这个文件的文件名、利用键盘输入文件的内容
以及文件内容编辑输入完成后保存这个文件。需要说明的是,这个文件是由程序员根据程
序的功能要求,自己设计编写的C语言程序文件。

.................................................................................... 

本步操作由以下3步完成。

1)在SOURCE_LED 文件夹下新建LED.

c文
件
在SOURCE_LED 文件夹下新建LED.


c文件有以下2种方法。

(1)在如图3-24 所示的窗口中,右击SOURCE_LED 文件夹弹出菜单,然后单击“新建
文件”, LED.”
在弹出的文件名称输入框中输入文件名称“c,输入完成后按回车键就在
SOURCE_LED 文件夹下新建了LED.c文件,如图3-26 所示。


图3-24 
使用菜单在文件夹SOURCE_LED 
下新建文件

(2)如图3-25 所示,首先单击打开SOURCE_LED 文件夹,然后单击“新建文件”按钮, 
接着在弹出的文件名称输入框中输入“LED.输入完成后按回车键就在SOURCE_LED ,(”) 
c
文件夹下建立了LED.c文件,如图3-26 所示。
一定要注意文件名的扩展名是小写的字符“c”。
c文件2)编辑LED.
保持文件LED.然后用键盘在窗口右

在如图3-26 所示的窗口中,c处于打开编辑状态, 


第3章C语言鸿蒙OS设备程序开发方法和步骤115
图3-25 
使用图标按钮在SOURCE_LED 
文件夹新建文件


图3在SOURCE_LED 
文件夹新建文件LED.

-26 c