摘要:本文簡單介紹Hi3861其他驅(qū)動(dòng)的開發(fā)示例、包括PWM、SPI、SDIO等。
適合群體:適用于潤和Hi3861開發(fā)板,L0輕量系統(tǒng)驅(qū)動(dòng)開發(fā)
文中所有代碼倉庫:https://gitee.com/qidiyun/hihope-3861-smart-home-kit
8.1 代碼示例
OpenHarmony代碼中,Hi3861提供了絕大部分的驅(qū)動(dòng)示例代碼,文件路徑:
devicesochisiliconhi3861v100sdk_liteosappdemosrc
開發(fā)者可以參考,文件如下:
8.2 如何使用
(1)創(chuàng)建文件夾
一般情況下,我們自己如果需要使用某個(gè)驅(qū)動(dòng),編寫的代碼要存放在app目錄下,這里我們以app_demo_pwm.c為例。
我們?cè)赼pp中新建文件夾 demo_pwm,里面存放代碼 demo_pwm.c,然后app_demo_pwm.c所有的代碼都復(fù)制到demo_pwm.c中,整個(gè)文件夾如下:
(2)編寫入口函數(shù)
我們需要為demo_pwm.c編寫一個(gè)入口函數(shù),通常情況下,是創(chuàng)建一個(gè)線程去執(zhí)行,通用的代碼示例如下:
void *PWM_Task(const char *arg)
{
arg = arg;
while(1)
{
//調(diào)用app_demo_pwm
app_demo_pwm();
usleep(10000);
}
}
void pwm_demo(void)
{
osThreadAttr_t attr;
attr.name = "PWM_Task";
attr.attr_bits = 0U;
attr.cb_mem = NULL;
attr.cb_size = 0U;
attr.stack_mem = NULL;
attr.stack_size = 2048;
attr.priority = 26;
if (osThreadNew((osThreadFunc_t)PWM_Task, NULL, &attr) == NULL) {
printf("[PWM_Task] Falied to create PWM_Task! ");
}
}
SYS_RUN(pwm_demo);
(3)頭文件
此外我們還得修改頭文件,首先我們先刪除掉原先的include的頭文件,然后添加如下通用頭文件:
接著我們可以根據(jù)自己使用到的哪個(gè)驅(qū)動(dòng),添加對(duì)應(yīng)的驅(qū)動(dòng)頭文件,比如我們用到的是pwm,那么添加的頭文件如下:
#include
(4)頭文件路徑
此外我們還得修改頭文件,這里主要修改 BUILD.gn文件,通常情況下需要增加:
"http://device/soc/hisilicon/hi3861v100/hi3861_adapter/hals/communication/wifi_lite/wifiservice",
"http://device/soc/hisilicon/hi3861v100/hi3861_adapter/kal",
修改后如下:
(5)修改usr_config.mk文件
此外,如果某個(gè)驅(qū)動(dòng)對(duì)應(yīng)的宏我們?nèi)绻麤]有打開,那么我們可能還得修改usr_config.mk文件,該文件通常路徑為:
devicesochisiliconhi3861v100sdk_liteosuildconfigusr_config.mk
這里我們用到了PWM,修改前:
修改后:
原文標(biāo)題:OpenHarmony輕量系統(tǒng)開發(fā)【8】其它驅(qū)動(dòng)開發(fā)示例
文章出處:【微信公眾號(hào):HarmonyOS官方合作社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
審核編輯:湯梓紅
-
驅(qū)動(dòng)
+關(guān)注
關(guān)注
12文章
1844瀏覽量
85406 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5093瀏覽量
97800 -
Hi3861
+關(guān)注
關(guān)注
1文章
61瀏覽量
6551 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3731瀏覽量
16426
原文標(biāo)題:OpenHarmony輕量系統(tǒng)開發(fā)【8】其它驅(qū)動(dòng)開發(fā)示例
文章出處:【微信號(hào):HarmonyOS_Community,微信公眾號(hào):電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論