摘要:本文簡單介紹Hi3861其他驅動的開發(fā)示例、包括PWM、SPI、SDIO等。
適合群體:適用于潤和Hi3861開發(fā)板,L0輕量系統(tǒng)驅動開發(fā)
文中所有代碼倉庫:https://gitee.com/qidiyun/hihope-3861-smart-home-kit
8.1 代碼示例
OpenHarmony代碼中,Hi3861提供了絕大部分的驅動示例代碼,文件路徑:
devicesochisiliconhi3861v100sdk_liteosappdemosrc
開發(fā)者可以參考,文件如下:
8.2 如何使用
(1)創(chuàng)建文件夾
一般情況下,我們自己如果需要使用某個驅動,編寫的代碼要存放在app目錄下,這里我們以app_demo_pwm.c為例。
我們在app中新建文件夾 demo_pwm,里面存放代碼 demo_pwm.c,然后app_demo_pwm.c所有的代碼都復制到demo_pwm.c中,整個文件夾如下:
(2)編寫入口函數
我們需要為demo_pwm.c編寫一個入口函數,通常情況下,是創(chuàng)建一個線程去執(zhí)行,通用的代碼示例如下:
void *PWM_Task(const char *arg)
{
arg = arg;
while(1)
{
//調用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的頭文件,然后添加如下通用頭文件:
接著我們可以根據自己使用到的哪個驅動,添加對應的驅動頭文件,比如我們用到的是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文件
此外,如果某個驅動對應的宏我們如果沒有打開,那么我們可能還得修改usr_config.mk文件,該文件通常路徑為:
devicesochisiliconhi3861v100sdk_liteosuildconfigusr_config.mk
這里我們用到了PWM,修改前:
修改后:
原文標題:OpenHarmony輕量系統(tǒng)開發(fā)【8】其它驅動開發(fā)示例
文章出處:【微信公眾號:HarmonyOS官方合作社區(qū)】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
驅動
+關注
關注
12文章
1851瀏覽量
85608 -
開發(fā)板
+關注
關注
25文章
5121瀏覽量
98112 -
Hi3861
+關注
關注
1文章
62瀏覽量
6600 -
OpenHarmony
+關注
關注
25文章
3744瀏覽量
16542
原文標題:OpenHarmony輕量系統(tǒng)開發(fā)【8】其它驅動開發(fā)示例
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論