在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用代碼控制開發(fā)板

HarmonyOS開發(fā)者 ? 來源:HarmonyOS開發(fā)者 ? 作者:HarmonyOS開發(fā)者 ? 2022-03-14 14:40 ? 次閱讀

HarmonyOS Connect設(shè)備開發(fā),相信不少剛?cè)腴T的開發(fā)者都被這些問題所困擾,面對五花八門的開發(fā)板不知道該怎么選取?芯片、模組、開發(fā)板傻傻分不清?如何使用代碼控制開發(fā)板?本期,我們將一一為你解答。

一、芯片適配方案

芯片,是一種將電路集中制造在半導(dǎo)體晶圓表面上的小型化方式,它可以通過系統(tǒng)指令對端口設(shè)備進行控制。如果把系統(tǒng)比作一個設(shè)備的靈魂,那么芯片就是設(shè)備的心臟,芯片廠商基于OpenHarmonyLinux內(nèi)核、LiteOS-A內(nèi)核及LiteOS-M內(nèi)核,面向 HarmonyOS Connect 業(yè)務(wù)提供了不同的芯片適配方案,如圖1所示:

圖1 芯片適配方案

在HarmonyOS Connect設(shè)備開發(fā)過程中,采用通過 HarmonyOS Connect 認證的芯片和模組能幫開發(fā)者縮短設(shè)備開發(fā)和認證周期,如圖2所示,列舉了官網(wǎng)上已認證的幾款芯片:

圖2 已認證的芯片

不同類型的芯片適用于不同領(lǐng)域的產(chǎn)品,因此,可以得出一個結(jié)論,在進行設(shè)備開發(fā)前,我們應(yīng)該明確所開發(fā)的設(shè)備的類型并選取適合的芯片。

二、芯片、模組、開發(fā)板

在設(shè)備開發(fā)過程中,我們接觸最多的就是芯片、模組、開發(fā)板,它們之間有何區(qū)別及聯(lián)系,我們應(yīng)該怎么選取呢?下文將為你解答。

1芯片

如圖3所示,是一款高度集成的2.4GHz SoC Wi-Fi的Hi3861V100芯片。這個僅有指甲蓋大小的空間里,卻集成了IEEE 802.11b/g/n基帶、功率放大器PA、低噪聲放大器LNA、RF balun、天線開關(guān)以及電源管理等模塊。

圖3 Hi3861V100芯片

由于芯片的尺寸較小,管腳沒有直接引出,天線、電容、電感以及MCU都需要借助外部電路去布置。如果開發(fā)者想利用芯片實現(xiàn)Wi-Fi功能,就需要設(shè)計芯片的天線部分電路并增加Flash芯片來保存數(shù)據(jù),這個實現(xiàn)過程研發(fā)成本較高。至此,便有了下面的模組。

2模組

很多模組廠商針對各類芯片設(shè)計出各式各樣的模組。如圖4所示,是 Hi3861RNIV100模組,相較于Hi3861V100芯片,該模組還集成了電源電路、Flash芯片、天線電路等,讓開發(fā)者直接忽略了上節(jié)中芯片Wi-Fi功能實現(xiàn)的部分,大大降低了Wi-Fi開發(fā)的難度。同時,模組還可以滿足用戶對芯片二次開發(fā)的需求。

圖4 Hi3861RNIV100模組模組是面向產(chǎn)品的,模組在完成測試及驗證后便可直接嵌入到產(chǎn)品中。另外,一個芯片可以制定多個模組,相同的芯片,可通過控制模組的Flash大小、天線的材質(zhì)、模組尺寸來適配各類智能產(chǎn)品。那么如何對模組的功能進行快速的測試驗證呢?這就有了下面的開發(fā)板。

3開發(fā)板

如圖5所示,是搭載了Hi3861RNIV100模組的開發(fā)板(以下簡稱Hi3861開發(fā)板),提供了更加豐富的外圍資源,包括標準的E53接口NFC標簽USB Type-C、復(fù)位按鍵、用戶按鍵、射頻天線、串口轉(zhuǎn)換電路等,方便了用戶對Hi3861RNIV100模組的功能進行快速的測試驗證。

圖5 Hi3861開發(fā)板開發(fā)板是面向“測試學(xué)習(xí)”的,在提供測試驗證模組性能的同時,還可幫助剛?cè)腴T的開發(fā)者對模組進行快速地學(xué)習(xí)了解,因此,開發(fā)板可看作模組到產(chǎn)品的一個“中間臨時變量”,如圖6所示:

圖6 芯片、模組、開發(fā)板的區(qū)別總結(jié)下來就是,一個芯片可以制定多個模組、一個模組可以嵌入到不同的開發(fā)板。這就是為什么我們經(jīng)常看到基于Hi3861開發(fā)板的原因。

4如何選取開發(fā)板

通過上文的介紹,相信大家已經(jīng)了解了芯片、模組、開發(fā)板之間的關(guān)系,下面我們來看看如何選取開發(fā)板吧。

(1)根據(jù)設(shè)備的類型,選取合適的芯片

如第一章提到的,選取開發(fā)板前,我們應(yīng)該確定待開發(fā)設(shè)備的類型,并選取合適的芯片。

(2)根據(jù)設(shè)備的功能需求,選擇合適的模組

模組選擇時,應(yīng)該確定待開發(fā)設(shè)備所具備的功能,充分考慮功能、成本、尺寸等因素。模組功能越多,引出的引腳更多,模組體積可能更大,成本就越高。例如,如果待開發(fā)的設(shè)備只需要Wi-Fi功能,則選擇Wi-Fi模組,如果待開發(fā)的設(shè)備需要Wi-Fi+藍牙功能,則可以選擇選擇Combo模組。

(3)根據(jù)不同的應(yīng)用場景,選擇相應(yīng)的開發(fā)板

模組確認后,我們怎么選取開發(fā)板呢?基于不同的應(yīng)用場景,不同的開發(fā)板套件提供的擴展板不同。如圖7所示,例舉了幾個比較典型的擴展板,可通過E53接口進行擴展,使能開發(fā)智能加濕器、智能臺燈、智能安防、智能煙感等案例,讓案例開發(fā)更加靈活、方便。

圖7 典型的擴展板

所以,選取開發(fā)板時,先確定待開發(fā)設(shè)備的應(yīng)用場景,再根據(jù)各種開發(fā)板套件提供的擴展板來選取最合適的開發(fā)板。

三、如何控制開發(fā)板

相信你已經(jīng)選擇了一款適合自己的開發(fā)板啦,現(xiàn)在我們來看看如何通過代碼控制它吧。如圖8所示,是Hi3861開發(fā)板上搭載的E53標準接口,通過OpenHarmony提供的豐富的外設(shè)操作能力對E53接口進行控制,從而實現(xiàn)設(shè)備開發(fā)。

圖8 搭載的E53接口

本文介紹如何通過調(diào)用OpenHarmony的NDK接口在Hi3861開發(fā)板上編寫一個創(chuàng)建Wi-Fi熱點程序。

1關(guān)鍵API

完成Wi-Fi熱點創(chuàng)建,主要使用了以下幾個API。

2實現(xiàn)步驟

完成Wi-Fi熱點創(chuàng)建,需要以下幾步。

(1)通過 RegisterWifiEvent 接口向系統(tǒng)注冊熱點狀態(tài)改變事件、STA站點加入事件、STA站點退出事件,相關(guān)回調(diào)函數(shù)如下:

代碼如下:

//注冊wifi事件的回調(diào)函數(shù)  g_wifiEventHandler.OnHotspotStaJoin = OnHotspotStaJoinHandler;  g_wifiEventHandler.OnHotspotStaLeave = OnHotspotStaLeaveHandler;  g_wifiEventHandler.OnHotspotStateChanged = OnHotspotStateChangedHandler;  error = RegisterWifiEvent(&g_wifiEventHandler);  if (error != WIFI_SUCCESS)  {    printf("RegisterWifiEvent failed, error = %d.
",error);    return -1;  }  printf("RegisterWifiEvent succeed!
");
(左右滑動,查看更多)

(2)調(diào)用 SetHotspotConfig 接口,設(shè)置指定的熱點配置。代碼如下:

//設(shè)置指定的熱點配置  HotspotConfig config = {0};
  strcpy(config.ssid, AP_SSID);  strcpy(config.preSharedKey, AP_PSK);  config.securityType = WIFI_SEC_TYPE_PSK;  config.band = HOTSPOT_BAND_TYPE_2G;  config.channelNum = 7;
  error = SetHotspotConfig(&config);  if (error != WIFI_SUCCESS)  {    printf("SetHotspotConfig failed, error = %d.
", error);    return -1;  }printf("SetHotspotConfigsucceed!
");
(左右滑動,查看更多)

(3)調(diào)用 EnableHotspot 接口,使能Wi-Fi AP 模式。代碼如下:

//啟動wifi熱點模式  error = EnableHotspot();   if (error != WIFI_SUCCESS)  {    printf("EnableHotspot failed, error = %d.
", error);    return -1;  }  printf("EnableHotspot succeed!
");
(左右滑動,查看更多)

(4)調(diào)用 IsHotspotActive 接口,檢查AP熱點模式是否啟用,代碼如下

//檢查熱點模式是否使能    if (IsHotspotActive() == WIFI_HOTSPOT_NOT_ACTIVE)    {        printf("Wifi station is not actived.
");        return -1;    }printf("Wifi station is actived!
");
(左右滑動,查看更多)

(5)調(diào)用 netifapi_netif_set_addr 函數(shù)設(shè)置網(wǎng)卡信息,并調(diào)用 netifapi_dhcps_start 函數(shù)啟動dhcp服務(wù)。代碼如下:

//啟動dhcp    g_lwip_netif = netifapi_netif_find("ap0");    if (g_lwip_netif)     {        ip4_addr_t bp_gw;        ip4_addr_t bp_ipaddr;        ip4_addr_t bp_netmask;

        IP4_ADDR(&bp_gw, 192, 168, 1, 1);           /* input your gateway for example: 192.168.1.1 */        IP4_ADDR(&bp_ipaddr, 192, 168, 1, 1);       /* input your IP for example: 192.168.1.1 */        IP4_ADDR(&bp_netmask, 255, 255, 255, 0);    /* input your netmask for example: 255.255.255.0 */

        err_t ret = netifapi_netif_set_addr(g_lwip_netif, &bp_ipaddr, &bp_netmask, &bp_gw);        if(ret != ERR_OK)        {            printf("netifapi_netif_set_addr failed, error = %d.
", ret);            return -1;        }        printf("netifapi_netif_set_addr succeed!
");

        ret = netifapi_dhcps_start(g_lwip_netif, 0, 0);        if(ret != ERR_OK)        {             printf("netifapi_dhcp_start failed, error = %d.
", ret);            return -1;        }        printf("netifapi_dhcps_start succeed!
");

(左右滑動,查看更多)

以上就是本期全部內(nèi)容,通過本文的介紹,你心中的疑惑是不是已經(jīng)解開了?如果是,那么恭喜你,你已經(jīng)入門HarmonyOS Connect設(shè)備開發(fā)了,我們期待你的加入。

原文標題:小白入門設(shè)備開發(fā)的“芯”路歷程

文章出處:【微信公眾號:HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    455

    文章

    50812

    瀏覽量

    423582
  • wi-fi
    +關(guān)注

    關(guān)注

    14

    文章

    2141

    瀏覽量

    124499
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1975

    瀏覽量

    30186

原文標題:小白入門設(shè)備開發(fā)的“芯”路歷程

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    初識arduino

    這篇文章,了解一下Markdown的基本語法知識。什么是arduino?簡單來講arduino就是通過源代碼控制開發(fā)板
    發(fā)表于 02-24 06:41

    HarmonyOS Connect設(shè)備開發(fā)的入門資料

    HarmonyOS Connect設(shè)備開發(fā),相信不少剛?cè)腴T的開發(fā)者都被這些問題所困擾,面對五花八門的開發(fā)板不知道該怎么選取?芯片、模組、開發(fā)板傻傻分不清?如何使用
    發(fā)表于 03-15 15:14

    USB大容量存儲開發(fā)板帶CPLD的代碼D的源碼

    USB大容量存儲開發(fā)板帶CPLD的代碼D的源碼
    發(fā)表于 08-19 16:02 ?20次下載

    stm32開發(fā)板開發(fā)板原理圖

    stm32開發(fā)板開發(fā)板原理圖。
    發(fā)表于 12-21 15:38 ?61次下載

    DSP2812開發(fā)板例程代碼

    dsp2182開發(fā)板入門資料,包含24個代碼例程。
    發(fā)表于 05-09 11:45 ?81次下載

    STM32F103開發(fā)板的演示軟件源代碼

    STM32F103開發(fā)板的演示軟件源代碼
    發(fā)表于 05-20 16:14 ?54次下載

    DSP2407開發(fā)板代碼

    DSP2407開發(fā)板代碼分享,有需要的下來看看。
    發(fā)表于 05-24 09:45 ?38次下載

    USB大容量存儲開發(fā)板CPLD代碼

    Xilinx FPGA工程例子源碼:USB大容量存儲開發(fā)板CPLD代碼
    發(fā)表于 06-07 14:13 ?14次下載

    代碼控制開發(fā)板LED:STM32跑馬燈試驗

    STM32F103跑馬燈實驗。本實驗通過代碼控制開發(fā)板上的兩個LED:DS0和DS1交替閃爍,實現(xiàn)類似跑馬燈的效果。
    發(fā)表于 08-31 10:52 ?26次下載

    基于龍丘開發(fā)板的部分源代碼及使用說明

    訂制,也可由用戶自行研究設(shè)計。開發(fā)板是為初學(xué)者了解和學(xué)習(xí)系統(tǒng)的硬件和軟件,同時部分開發(fā)板也提供的基礎(chǔ)集成開發(fā)環(huán)境和軟件源代碼和硬件原理圖等。
    發(fā)表于 08-31 16:28 ?3次下載

    基于Xilinx FPGA的開發(fā)板代碼

    文檔內(nèi)容包含基于Xilinx FPGA的開發(fā)板代碼及原路圖,供網(wǎng)友參考。
    發(fā)表于 09-01 11:09 ?20次下載

    STM32開發(fā)板資料之例程的實現(xiàn)和源代碼

    本文主要介紹了STM32開發(fā)板資料,內(nèi)含大量例程的實現(xiàn)和源代碼,適合新手學(xué)習(xí)
    發(fā)表于 06-27 08:00 ?211次下載

    龍芯開發(fā)板代碼首發(fā)

    龍芯開發(fā)板代碼位于:deviceloongsonls1c300b_hrst 文件夾。其中,啟動文件位于 deviceloongsonls1c300b_hrstsrclib 文件夾下,文件名:start.S 文件
    的頭像 發(fā)表于 12-24 17:39 ?2387次閱讀
    龍芯<b class='flag-5'>開發(fā)板</b>的<b class='flag-5'>板</b>級<b class='flag-5'>代碼</b>首發(fā)

    arduino 入門學(xué)習(xí)第一課——初識arduino

    這篇文章,了解一下Markdown的基本語法知識。什么是arduino?簡單來講arduino就是通過源代碼控制開發(fā)板
    發(fā)表于 01-04 10:45 ?13次下載
    arduino 入門學(xué)習(xí)第一課——初識arduino

    在MicroROS開發(fā)板上編寫HelloWord代碼

    你好,我是愛吃魚香ROS的小魚。這一節(jié)我們正式在MicroROS開發(fā)板上編寫代碼,輸出HelloWorld到電腦上。在正式開始編寫代碼前,我們先了解下開發(fā)流程。
    的頭像 發(fā)表于 07-02 15:38 ?1267次閱讀
    在MicroROS<b class='flag-5'>開發(fā)板</b>上編寫HelloWord<b class='flag-5'>代碼</b>
    主站蜘蛛池模板: 国产精品黄网站免费进入| 亚洲国产精品久久网午夜| 亚洲一级色片| free chinese 国产精品| 最近2018中文字幕免费看2019 | 欧美一卡2卡三卡四卡五卡| 泰国一级毛片aaa下面毛多| 国产精品怡红院永久免费| 激情在线网站| 怡红院网址| 狠狠色狠狠色综合日日小蛇| 免费又爽又黄禁片视频在线播放| 视频二区中文字幕| 女人张开腿给人桶免费视频| 天天射网| 日本不卡专区| 噜噜影院无毒不卡| 久久啊| 亚洲福利在线视频| 成人欧美精品一区二区不卡| 日本人的xxxxxxxxx69| 色婷婷基地| 天天看a| 中文字幕亚洲天堂| 国产玖玖| 欧美性操| 人人看人人做人人爱精品| 天天干天天上| 在线天堂中文新版有限公司| 国产拍拍| 69日本xxxxxxxxx78| 明日花绮罗snis-862在线播放| 人人干人人搞| 五月婷婷 六月丁香| 2021日本三级理论影院| 亚洲黄色第一页| 快色视频免费| 欧美在线黄色| 男人天堂网在线| 91天天干| 欧美成人精品一区二区|