本文來源電子發燒友社區,作者:jf_53933321, 帖子地址:https://bbs.elecfans.com/jishu_2289274_1_1.html
1. PWM簡介
1. PWM簡介
數字信號只有高/低電平兩種狀態。在連續的一段時間內,讓同一個輸出引腳上輸出不同狀態的高/低電平,可以實現輸出方波信號。通過CPU控制GPIO引腳狀態能夠實現這種功能,但每次狀態變化都需要CPU主動控制,會造成CPU計算資源的浪費。芯片的PWM模塊無須CPU主動控制即可輸出連續的方波信號。在有PWM模塊的芯片中,CPU只需要向PWM模塊設定方波的一些參數,就可以實現在沒有CPU控制的情況下,輸出一定頻率的連續方波信號。另外,PWM模塊可以控制輸出方波在一個周期內高電平和低電平所占的時間比例,即占空比。
2. 板上資源
板上有兩個蜂鳴器,都是接到GPIO9號端口上的。GPIO9又是和pwm0口復用的。
交通板和氣體檢測板上各有一個蜂鳴器,接到了GPIO9號口上。所以資源很清晰明了了,下一步就是開干寫代碼。
?
3. 代碼邏輯
線程起來之后就是驅動蜂鳴器響,按下按鍵則蜂鳴器停止發聲。
- static void *PWMBeepTask(const char *arg)
- {
- while (1) {
- if (g_beepState) {
- IoTPwmStart(IOT_PWM_PORT_PWM0, 50, 4000);
- } else {
- IoTPwmStop(IOT_PWM_PORT_PWM0);
- }
- if (g_iState == 0xffff) {
- g_iState = 0;
- break;
- }
- }
- }
- static void OnButtonPressed(const char *arg)
- {
- (void) arg;
- g_beepState = !g_beepState;
- printf("PRESS_KEY!n");
- g_iState++;
- }
- static void StartPWMBeepTask(void)
- {
- osThreadAttr_t attr;
- IoTGpioInit(IOT_GPIO_KEY);
- IoSetFunc(IOT_GPIO_KEY, 0);
- IoTGpioSetDir(IOT_GPIO_KEY, IOT_GPIO_DIR_IN);
- IoSetPull(IOT_GPIO_KEY, IOT_IO_PULL_UP);
- IoTGpioRegisterIsrFunc(IOT_GPIO_KEY, IOT_INT_TYPE_EDGE, IOT_GPIO_EDGE_FALL_LEVEL_LOW, OnButtonPressed, NULL);
- IoTGpioInit(IOT_PWM_BEEP);
- IoSetFunc(IOT_PWM_BEEP, 5);
- IoTGpioSetDir(IOT_PWM_BEEP, IOT_GPIO_DIR_OUT);
- IoTPwmInit(IOT_PWM_PORT_PWM0);
- IoTWatchDogDisable();
- attr.name = "PWMBeepTask";
- attr.attr_bits = 0U;
- attr.cb_mem = NULL;
- attr.cb_size = 0U;
- attr.stack_mem = NULL;
- attr.stack_size = 1024;
- attr.priority = osPriorityNormal;
- if (osThreadNew((osThreadFunc_t)PWMBeepTask, NULL, &attr) == NULL) {
- printf("[StartPWMBeepTask] Falied to create PWMBeepTask!n");
- }
- }
寫完代碼就是編譯,編譯前要修改device/soc/hisilicon/hi3861v100/sdk_liteos/build/config/usr_config.mk文件。在這個配置文件中打開I2C,PWM驅動宏。搜索字段CONFIG_I2C_SUPPORT,并打開I2C,PWM。配置如下:
# CONFIG_I2C_SUPPORT is not set
CONFIG_I2C_SUPPORT=y
# CONFIG_PWM_SUPPORT is not set
CONFIG_PWM_SUPPORT=y
4. 實物演示
見如下視頻
Pwm驅動蜂鳴器,視頻演示,詳見作者原帖子內容。
Pwm驅動蜂鳴器,視頻演示,詳見作者原帖子內容。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
wi-fi
+關注
關注
15文章
2424瀏覽量
129559 -
HarmonyOS
+關注
關注
80文章
2153瀏覽量
36053 -
HiSpark
+關注
關注
1文章
156瀏覽量
7757
發布評論請先 登錄
相關推薦
熱點推薦
技術資訊 I Wi-Fi 模塊設計
本文要點Wi-Fi模塊設計旨在打造一套緊湊且高效的硬件和軟件解決方案,使設備能夠通過Wi-Fi網絡實現通信。Wi-Fi模塊設計是一個復雜的過程,要求研發人員兼具硬件與軟件工程方面的專業知識
Wi-Fi:無線連接的全球通用語
一、什么是Wi-Fi?Wi-Fi是Wi-Fi聯盟制造商的商標認證,是基于IEEE 802.11標準的無線局域網技術。它允許電子設備在特定范圍內無線接入網絡,實現高速數據交換與互聯網訪問,已成為
發表于 01-07 09:49
Nordic發布nRF7002 EBII 開發板, 支持Wi-Fi 6, 解鎖nRF54L新玩法
了 Wi-Fi 6 功能,幫助開發人員創建高性能、高能效的Wi-Fi 6 物聯網解決方案。
基于 Nordic 的 nRF7002 Wi-Fi 協同 IC,nRF7002 EBII幫助 采用
發表于 12-10 11:58
Wi-Fi模塊選型指南 | 低功耗藍牙/Wi-Fi 6模塊推薦 | 物聯網設備集成攻略
物聯網的快速發展,Wi-Fi技術的成熟的情況下,越來越多的場景需要用到Wi-Fi來無線傳輸數據,尤其是移動設備中,怎么再設備中選擇合適的Wi-Fi模塊呢?下面我們來介紹下Wi-Fi模塊
淺談Wi-Fi 6E與Wi-Fi 7的關鍵器件——BAW濾波器新技術
作者: Qorvo 亞太區無線連接事業部高級行銷經理林健富 ? 2020年1月,Wi-Fi聯盟正式宣布開放6GHz頻段(5925MHz-7125MHz),并將其命名為Wi-Fi 6E。2020年4月
發表于 09-19 18:29
?2128次閱讀
基于 SSID 的 Wi-Fi 定位:與其他定位服務的性能比較
隨著 nRF7000 Wi-Fi 協同 IC 的推出,我們現在可以提供具有 Wi-Fi、蜂窩物聯網和 GNSS 功能的完整硅到云定位解決方案。nRF7000 針對 Wi-Fi 網絡掃描進行了優化
發表于 08-31 21:01
LitePoint Wi-Fi測試軟件減輕客戶設計負擔
自Wi-Fi 7于一年多前獲得Wi-Fi聯盟認證以來,作為最新一代通信技術,Wi-Fi正逐步成為用戶實現無所不在無線連接的新選擇。隨著每一代Wi-Fi信號復雜性的提升,建議將硬件測試納
有沒有什么修復方法可以確保 AP 模式下的 Wi-Fi 和 BLE 連接同時正常工作?
我正在使用 CYBSYSKIT DEV 01 套件。我嘗試在 AP 模式下打開 Wi-Fi 并宣傳 BLE。我可以宣傳 SoftAP 和 BLE。但是,我無法從中央設備連接到 BLE。它可以立即連接并斷開連接。有沒有什么修復方法可以確保 AP 模式下的
發表于 07-17 06:13
科普|公司的Wi-Fi,為什么這么慢?
大家在公司上班,經常會使用到Wi-Fi。最近這幾年,隨著時代的發展,高清視頻會議等大帶寬網絡應用越來越普遍。而公司的網絡,卻非常不給力,頻繁卡頓,嚴重影響使用體驗。哪怕IT的同事已經把網絡優化得很
Wi-Fi 8:開啟極高可靠性 (UHR) 連接的新紀元——1
英國作家狄更斯在《雙城記》的開頭寫道:“這是最好的時代,也是最壞的時代。”
這句話若套用在現今Wi-Fi 的市場現狀,何嘗不是驚人的相似?
怎么說呢?Wi-Fi 從被發明至今已經經過了20多年的迭代
發表于 06-13 11:09
Wi-Fi HaLow如何突破傳統Wi-Fi性能瓶頸?
視頻推薦在萬物互聯的時代,傳統Wi-Fi在覆蓋范圍、功耗、連接數上漸顯不足。而Wi-FiHaLow的誕生,正在用黑科技打破傳統Wi-Fi的性能瓶頸!今天,我們一起來探究Wi-FiHaL
基于 Wi-Fi 的定位服務
以下捕獲使用 location_wifi_get 函數請求 Wi-Fi 定位服務。該事件的總功耗為 125.85mC,日志顯示精確度為 30.0m。
Got location:
method
發表于 04-17 15:16
nRF Cloud Wi-Fi 定位服務
、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通過利用 nRF Cloud 的優化定位算法,基于 Nordic SoC 和 模組的產品可在定位用例
發表于 04-17 15:07
Wi-Fi 定位服務
Wi-Fi 是一種著名的無線網絡技術,用于設備的局域網和互聯網接入。Wi-Fi 通過 Wi-Fi 網絡為家庭、辦公室和學校等環境提供便捷的無線互聯網接入服務。
Wi-Fi 定位是一種
發表于 04-17 15:01
【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】Pwm調節蜂鳴器聲音
評論