輕松學(xué)ARM系列之玩轉(zhuǎn)蜂鳴器
時(shí)間:2018-08-16作者:華清遠(yuǎn)見
作者:熊老師,華清遠(yuǎn)見教育科技集團(tuán)講師。 今天我們來學(xué)習(xí)輕松學(xué)arm系列之玩轉(zhuǎn)蜂鳴器,基于arm的cortex_a8內(nèi)核的三星S5PV210開發(fā)平臺。 那么我們來看一下如何學(xué)習(xí)使用pwm控制蜂鳴器? 一、總體架構(gòu)圖
![]()
搞定蜂鳴器之前需要我們對三星的GPIO簡介的相關(guān)章節(jié)有一定的了解,主要是timer 定時(shí)器。 二、玩轉(zhuǎn)定時(shí)器的幾個(gè)要領(lǐng) 2.1 查看開發(fā)板上蜂鳴器的連接的原理圖 蜂鳴器對應(yīng)的原理圖
![]()
核心板的對應(yīng)的原理圖
![]()
2.2 選中GPD0CON配置寄存器的xpwmTOUT1功能
![]()
GPD0.GPD0CON = ((~(0xf 0))& GPD0CON)| (0x2 << 4);選為pwm輸出功能 2.3 配置預(yù)分頻和分頻寄存器的配置
![]()
![]()
配置預(yù)分頻的值,TIMER.TCFG0 = (TIME.TCFG0 & (~0xff)) | 0xff ; 預(yù)分頻的值設(shè)置為255 + 1
![]()
配置分頻的值為16分頻: TIMR.TCFG1 = (TIME.TCFG1 & (~0xf0))| (0x4 << 4); 2.4 設(shè)置緩沖計(jì)數(shù)器的寄存器值和緩沖比較器的值 工作原理:計(jì)數(shù)器的值每隔一個(gè)時(shí)鐘周期,做減1操作,如果減到值與比較器的值相等那么進(jìn)行高低電平的轉(zhuǎn)換,繼續(xù)遞減1,直到為0,那么翻轉(zhuǎn),實(shí)現(xiàn)了一個(gè)完整的方波周期
![]()
![]()
設(shè)置計(jì)數(shù)緩沖區(qū)寄存器值 TIME.TCNTB1 = XXX; 設(shè)置總周期,一個(gè)pwm 設(shè)置比較緩沖區(qū)寄存器值 TIME.TCMPB1 = XXX/2; 設(shè)置是占空比 2.5 手動(dòng)更新緩沖寄存器中的值到計(jì)數(shù)器中 設(shè)置pwm的步驟:
![]()
![]()
![]()
![]()
根據(jù)是1.3.15的第二步,先設(shè)置手動(dòng)更新,在清除手動(dòng)更新,啟動(dòng)定時(shí)器 手動(dòng)更新,使緩沖器中的值更新到計(jì)數(shù)器中,雙緩沖機(jī)制 TIME.TCON = TIME.TCON & (0x0e << 8) ; 0000 1110 清除手動(dòng)更新位,啟動(dòng)定時(shí)器。 0000 1101 0x0d TIME.TCON = TIME.TCON & (0x0d << 8) ; 相關(guān)資訊
發(fā)表評論
|
全國咨詢電話:400-611-6270,雙休日及節(jié)假日請致電值班手機(jī):15010390966
在線咨詢: 曹老師QQ(3337544669), 徐老師QQ(1462495461), 劉老師 QQ(3108687497)
企業(yè)培訓(xùn)洽談專線:010-82600901,院校合作洽談專線:010-82600350,在線咨詢:QQ(248856300)
Copyright 2004-2018 華清遠(yuǎn)見教育科技集團(tuán) 版權(quán)所有 ,京ICP備16055225號,京公海網(wǎng)安備11010802025203號