91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】Pwm調(diào)節(jié)蜂鳴器聲音

開(kāi)發(fā)板試用精選 ? 來(lái)源:開(kāi)發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-10-31 15:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來(lái)源電子發(fā)燒友社區(qū),作者:jf_53933321, 帖子地址:https://bbs.elecfans.com/jishu_2289274_1_1.html


1. PWM簡(jiǎn)介
數(shù)字信號(hào)只有高/低電平兩種狀態(tài)。在連續(xù)的一段時(shí)間內(nèi),讓同一個(gè)輸出引腳上輸出不同狀態(tài)的高/低電平,可以實(shí)現(xiàn)輸出方波信號(hào)。通過(guò)CPU控制GPIO引腳狀態(tài)能夠?qū)崿F(xiàn)這種功能,但每次狀態(tài)變化都需要CPU主動(dòng)控制,會(huì)造成CPU計(jì)算資源的浪費(fèi)。芯片的PWM模塊無(wú)須CPU主動(dòng)控制即可輸出連續(xù)的方波信號(hào)。在有PWM模塊的芯片中,CPU只需要向PWM模塊設(shè)定方波的一些參數(shù),就可以實(shí)現(xiàn)在沒(méi)有CPU控制的情況下,輸出一定頻率的連續(xù)方波信號(hào)。另外,PWM模塊可以控制輸出方波在一個(gè)周期內(nèi)高電平和低電平所占的時(shí)間比例,即占空比。
2. 板上資源
板上有兩個(gè)蜂鳴器,都是接到GPIO9號(hào)端口上的。GPIO9又是和pwm0口復(fù)用的。
交通板和氣體檢測(cè)板上各有一個(gè)蜂鳴器,接到了GPIO9號(hào)口上。所以資源很清晰明了了,下一步就是開(kāi)干寫(xiě)代碼。
pYYBAGK2ue2AGedxAAmFSZ3BAAo646.jpg?
pYYBAGK2ueSAUymwAAJ9bJUMXjQ885.jpg

3. 代碼邏輯
線(xiàn)程起來(lái)之后就是驅(qū)動(dòng)蜂鳴器響,按下按鍵則蜂鳴器停止發(fā)聲。
  1. static void *PWMBeepTask(const char *arg)
  2. {
  3. while (1) {
  4. if (g_beepState) {
  5. IoTPwmStart(IOT_PWM_PORT_PWM0, 50, 4000);
  6. } else {
  7. IoTPwmStop(IOT_PWM_PORT_PWM0);
  8. }
  9. if (g_iState == 0xffff) {
  10. g_iState = 0;
  11. break;
  12. }
  13. }
  14. }
  15. static void OnButtonPressed(const char *arg)
  16. {
  17. (void) arg;
  18. g_beepState = !g_beepState;
  19. printf("PRESS_KEY!n");
  20. g_iState++;
  21. }
  22. static void StartPWMBeepTask(void)
  23. {
  24. osThreadAttr_t attr;
  25. IoTGpioInit(IOT_GPIO_KEY);
  26. IoSetFunc(IOT_GPIO_KEY, 0);
  27. IoTGpioSetDir(IOT_GPIO_KEY, IOT_GPIO_DIR_IN);
  28. IoSetPull(IOT_GPIO_KEY, IOT_IO_PULL_UP);
  29. IoTGpioRegisterIsrFunc(IOT_GPIO_KEY, IOT_INT_TYPE_EDGE, IOT_GPIO_EDGE_FALL_LEVEL_LOW, OnButtonPressed, NULL);
  30. IoTGpioInit(IOT_PWM_BEEP);
  31. IoSetFunc(IOT_PWM_BEEP, 5);
  32. IoTGpioSetDir(IOT_PWM_BEEP, IOT_GPIO_DIR_OUT);
  33. IoTPwmInit(IOT_PWM_PORT_PWM0);
  34. IoTWatchDogDisable();
  35. attr.name = "PWMBeepTask";
  36. attr.attr_bits = 0U;
  37. attr.cb_mem = NULL;
  38. attr.cb_size = 0U;
  39. attr.stack_mem = NULL;
  40. attr.stack_size = 1024;
  41. attr.priority = osPriorityNormal;
  42. if (osThreadNew((osThreadFunc_t)PWMBeepTask, NULL, &attr) == NULL) {
  43. printf("[StartPWMBeepTask] Falied to create PWMBeepTask!n");
  44. }
  45. }
復(fù)制代碼
寫(xiě)完代碼就是編譯,編譯前要修改device/soc/hisilicon/hi3861v100/sdk_liteos/build/config/usr_config.mk文件。在這個(gè)配置文件中打開(kāi)I2C,PWM驅(qū)動(dòng)宏。搜索字段CONFIG_I2C_SUPPORT,并打開(kāi)I2C,PWM。配置如下:
# CONFIG_I2C_SUPPORT is not set
CONFIG_I2C_SUPPORT=y
# CONFIG_PWM_SUPPORT is not set

CONFIG_PWM_SUPPORT=y
4. 實(shí)物演示
見(jiàn)如下視頻

Pwm驅(qū)動(dòng)蜂鳴器,視頻演示,詳見(jiàn)作者原帖子內(nèi)容。


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

    關(guān)注

    15

    文章

    2424

    瀏覽量

    129540
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2153

    瀏覽量

    36045
  • HiSpark
    +關(guān)注

    關(guān)注

    1

    文章

    156

    瀏覽量

    7757
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    技術(shù)資訊 I Wi-Fi 模塊設(shè)計(jì)

    本文要點(diǎn)Wi-Fi模塊設(shè)計(jì)旨在打造一套緊湊且高效的硬件和軟件解決方案,使設(shè)備能夠通過(guò)Wi-Fi網(wǎng)絡(luò)實(shí)現(xiàn)通信。Wi-Fi模塊設(shè)計(jì)是一個(gè)復(fù)雜的過(guò)程,要求研發(fā)人員兼具硬件與軟件工程方面的專(zhuān)業(yè)知識(shí)
    的頭像 發(fā)表于 02-27 17:12 ?554次閱讀
    技術(shù)資訊 I <b class='flag-5'>Wi-Fi</b> 模塊設(shè)計(jì)

    Wi-Fi:無(wú)線(xiàn)連接的全球通用語(yǔ)

    一、什么是Wi-Fi?Wi-FiWi-Fi聯(lián)盟制造商的商標(biāo)認(rèn)證,是基于IEEE 802.11標(biāo)準(zhǔn)的無(wú)線(xiàn)局域網(wǎng)技術(shù)。它允許電子設(shè)備在特定范圍內(nèi)無(wú)線(xiàn)接入網(wǎng)絡(luò),實(shí)現(xiàn)高速數(shù)據(jù)交換與互聯(lián)網(wǎng)訪(fǎng)問(wèn),已成為
    發(fā)表于 01-07 09:49

    Nordic發(fā)布nRF7002 EBII 開(kāi)發(fā)板, 支持Wi-Fi 6, 解鎖nRF54L新玩法

    Wi-Fi 6 功能,幫助開(kāi)發(fā)人員創(chuàng)建高性能、高能效的Wi-Fi 6 物聯(lián)網(wǎng)解決方案。 基于 Nordic 的 nRF7002 Wi-Fi 協(xié)同 IC,nRF7002 EBII幫助 采用
    發(fā)表于 12-10 11:58

    Wi-Fi模塊選型指南 | 低功耗藍(lán)牙/Wi-Fi 6模塊推薦 | 物聯(lián)網(wǎng)設(shè)備集成攻略

    物聯(lián)網(wǎng)的快速發(fā)展,Wi-Fi技術(shù)的成熟的情況下,越來(lái)越多的場(chǎng)景需要用到Wi-Fi來(lái)無(wú)線(xiàn)傳輸數(shù)據(jù),尤其是移動(dòng)設(shè)備中,怎么再設(shè)備中選擇合適的Wi-Fi模塊呢?下面我們來(lái)介紹下Wi-Fi模塊
    的頭像 發(fā)表于 12-09 11:27 ?1060次閱讀
    <b class='flag-5'>Wi-Fi</b>模塊選型指南 | 低功耗藍(lán)牙/<b class='flag-5'>Wi-Fi</b> 6模塊推薦 | 物聯(lián)網(wǎng)設(shè)備集成攻略

    淺談Wi-Fi 6E與Wi-Fi 7的關(guān)鍵器件——BAW濾波器新技術(shù)

    作者: Qorvo 亞太區(qū)無(wú)線(xiàn)連接事業(yè)部高級(jí)行銷(xiāo)經(jīng)理林健富 ? 2020年1月,Wi-Fi聯(lián)盟正式宣布開(kāi)放6GHz頻段(5925MHz-7125MHz),并將其命名為Wi-Fi 6E。2020年4月
    發(fā)表于 09-19 18:29 ?2118次閱讀
    淺談<b class='flag-5'>Wi-Fi</b> 6E與<b class='flag-5'>Wi-Fi</b> 7的關(guān)鍵器件——BAW濾波器新技術(shù)

    如何更新 NuMaker IoT 板上的 Wi-Fi 模塊固件?

    更新 NuMaker IoT 板上的 Wi-Fi 模塊固件
    發(fā)表于 09-04 08:28

    基于 SSID 的 Wi-Fi 定位:與其他定位服務(wù)的性能比較

    隨著 nRF7000 Wi-Fi 協(xié)同 IC 的推出,我們現(xiàn)在可以提供具有 Wi-Fi、蜂窩物聯(lián)網(wǎng)和 GNSS 功能的完整硅到云定位解決方案。nRF7000 針對(duì) Wi-Fi 網(wǎng)絡(luò)掃描進(jìn)行了優(yōu)化
    發(fā)表于 08-31 21:01

    LitePoint Wi-Fi測(cè)試軟件減輕客戶(hù)設(shè)計(jì)負(fù)擔(dān)

    Wi-Fi 7于一年多前獲得Wi-Fi聯(lián)盟認(rèn)證以來(lái),作為最新一代通信技術(shù),Wi-Fi正逐步成為用戶(hù)實(shí)現(xiàn)無(wú)所不在無(wú)線(xiàn)連接的新選擇。隨著每一代Wi-Fi信號(hào)復(fù)雜性的提升,建議將硬件測(cè)試納
    的頭像 發(fā)表于 08-06 15:34 ?1194次閱讀
    LitePoint <b class='flag-5'>Wi-Fi</b>測(cè)試軟件減輕客戶(hù)設(shè)計(jì)負(fù)擔(dān)

    有沒(méi)有什么修復(fù)方法可以確保 AP 模式下的 Wi-Fi 和 BLE 連接同時(shí)正常工作?

    我正在使用 CYBSYSKIT DEV 01 套件。我嘗試在 AP 模式下打開(kāi) Wi-Fi 并宣傳 BLE。我可以宣傳 SoftAP 和 BLE。但是,我無(wú)法從中央設(shè)備連接到 BLE。它可以立即連接并斷開(kāi)連接。有沒(méi)有什么修復(fù)方法可以確保 AP 模式下的
    發(fā)表于 07-17 06:13

    科普|公司的Wi-Fi,為什么這么慢?

    大家在公司上班,經(jīng)常會(huì)使用到Wi-Fi。最近這幾年,隨著時(shí)代的發(fā)展,高清視頻會(huì)議等大帶寬網(wǎng)絡(luò)應(yīng)用越來(lái)越普遍。而公司的網(wǎng)絡(luò),卻非常不給力,頻繁卡頓,嚴(yán)重影響使用體驗(yàn)。哪怕IT的同事已經(jīng)把網(wǎng)絡(luò)優(yōu)化得很
    的頭像 發(fā)表于 06-20 06:06 ?1517次閱讀
    科普|公司的<b class='flag-5'>Wi-Fi</b>,為什么這么慢?

    Wi-Fi 8:開(kāi)啟極高可靠性 (UHR) 連接的新紀(jì)元——1

    英國(guó)作家狄更斯在《雙城記》的開(kāi)頭寫(xiě)道:“這是最好的時(shí)代,也是最壞的時(shí)代?!?這句話(huà)若套用在現(xiàn)今Wi-Fi 的市場(chǎng)現(xiàn)狀,何嘗不是驚人的相似? 怎么說(shuō)呢?Wi-Fi 從被發(fā)明至今已經(jīng)經(jīng)過(guò)了20多年的迭代
    發(fā)表于 06-13 11:09

    Wi-Fi HaLow如何突破傳統(tǒng)Wi-Fi性能瓶頸?

    視頻推薦在萬(wàn)物互聯(lián)的時(shí)代,傳統(tǒng)Wi-Fi在覆蓋范圍、功耗、連接數(shù)上漸顯不足。而Wi-FiHaLow的誕生,正在用黑科技打破傳統(tǒng)Wi-Fi的性能瓶頸!今天,我們一起來(lái)探究Wi-FiHaL
    的頭像 發(fā)表于 04-22 11:38 ?1111次閱讀
    <b class='flag-5'>Wi-Fi</b> HaLow如何突破傳統(tǒng)<b class='flag-5'>Wi-Fi</b>性能瓶頸?

    基于 Wi-Fi 的定位服務(wù)

    以下捕獲使用 location_wifi_get 函數(shù)請(qǐng)求 Wi-Fi 定位服務(wù)。該事件的總功耗為 125.85mC,日志顯示精確度為 30.0m。 Got location: method
    發(fā)表于 04-17 15:16

    nRF Cloud Wi-Fi 定位服務(wù)

    、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通過(guò)利用 nRF Cloud 的優(yōu)化定位算法,基于 Nordic SoC 和 模組的產(chǎn)品可在定位用例
    發(fā)表于 04-17 15:07

    Wi-Fi 定位服務(wù)

    Wi-Fi 是一種著名的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù),用于設(shè)備的局域網(wǎng)和互聯(lián)網(wǎng)接入。Wi-Fi 通過(guò) Wi-Fi 網(wǎng)絡(luò)為家庭、辦公室和學(xué)校等環(huán)境提供便捷的無(wú)線(xiàn)互聯(lián)網(wǎng)接入服務(wù)。 Wi-Fi 定位是一種
    發(fā)表于 04-17 15:01