14蜂鳴器BEEP實驗 2020 11 24

2021-10-10 20:01:57 字數 1808 閱讀 8831

目錄

1、硬體電路。pnp三極體控制

1.1、snvs_tamper1參考手冊,mux復用功能設定。當前介面只有gpio可用

1.2、io口的電氣屬性設定。pad=0x10b0=1000 0000 1011 0000(b)

1.2.1、磁滯bit16=0;15-12:1000,即100k歐的上拉,禁止拉/保持功能

1.2.2、11-0:0000 1011 0000。開漏輸出,100m轉換速率,驅動能力76ma

1.2.3、開漏輸出,推挽輸出示意圖,參考鏈結

1.3.gpio5_io01的輸入輸出設定(gdir),高低電平設定(dr),記憶體地圖

1.3.1、gpio5_io01設定為輸出(gdir),每一位對應乙個gpio口。因為是io01,所以輸出設定gpio5->gdir |= (1 << 1)

1.3.2、gpio5->dr |= (1 << 1);控制高低電平的輸出,也是每一位對應乙個gpio口

乙個gpio佔乙個位,bit3就是gpio3,bit1就是gpio

dr資料暫存器

,32位,高電平gpio.dr=1,低電平gpio.dr=0  若設定gpio3為高電平,則gpio3_dr=0x8

gdir方向暫存器

,32位,用來設定gpio工作方式,即輸入和輸出。輸出gpio.gdir=1,輸入gpio.gdir=0

psr狀態暫存器

,獲取gpio的狀態,即高低電平

icr1,icr2中斷控制暫存器

,icr1配置低16個gpio,icr2配置高16個gpio

imr中斷遮蔽暫存器

,用來控制gpio的中斷禁止和使能,使能中斷gpio_imr=1,禁止中斷gpio_imr=0

isr中斷狀態暫存器

,乙個gpio對應乙個位,只要某個gpio的中斷發生,那麼isr中相應的位設定為1,通過讀取isr來判斷gpio中斷是否發生,相當於isr中的位就是中斷標誌位,當處理完中斷必須清除中斷標誌位,向相應的位寫1就是清除。

edge_sel邊沿選擇暫存器

,用來設定邊沿中斷,會覆蓋icr1和icr2的設定,gpio.edge_sel=1表示gpio為上公升沿和下降沿(雙邊沿)觸發

Beep蜂鳴器驅動程式分析

typedef struct beep device extension device extension,pdevice extension 上面是蜂鳴器裝置的擴充套件結構體,其中referencecount 是裝置的引用計數,而fast mutex 用於互斥訪問這個計數器,timer 用於蜂鳴器...

蜂鳴器控制實驗

實驗名稱 蜂鳴器控制實驗 實驗目的 熟悉 ads使用,熟悉 c程式設計 實驗原理 arm的 gpb0 控制蜂鳴器,當輸出高電平時,三極體導通,蜂鳴器工作。輸出低電平時,三極體未工作,蜂鳴器停止。實驗步驟 先初始化指標 sp,用不著中斷,就不必設定了。檔案 init.s,如下 area data,co...

ARM實驗2 蜂鳴器實驗

pwm蜂鳴器實驗 實驗內容 編寫pwm模組程式,通過pwm控制fs 4412平台上的蜂鳴器。實驗目的 熟悉開發環境。掌握exynos4412處理器的pwm功能。實驗平台 fs 4412開發平台,eclipse,securecrt。實驗步驟 1.檢視pwm在開發板上的位置。2.檢視motor pwm在...