<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > SAM4E單片機之旅——5、LED呼吸和PWM

SAM4E單片機之旅——5、LED呼吸和PWM

作者: 時(shí)間:2017-01-24 來(lái)源:網(wǎng)絡(luò ) 收藏

  在高頻情況下,一個(gè)很好的用處就是通過(guò)控制占空比來(lái)控制輸出的功率,比如控制風(fēng)扇轉速、LED燈的亮度等。這次就利用的中斷功能,動(dòng)態(tài)改變脈沖的占空比,來(lái)實(shí)現呼吸燈的效果。

本文引用地址:http://dyxdggzs.com/article/201701/343312.htm

  一、實(shí)現思路

  可以選擇讓計數器在周期結束產(chǎn)生中斷(在周期中央對齊時(shí),可能選擇在周期中央也產(chǎn)生中斷),并且可以在運行的時(shí)候動(dòng)態(tài)地調整占空比、周期、極性等屬性。所以可以在中斷處理函數中動(dòng)態(tài)地改變占空比以改變LED燈的亮度。

  這次也將使用通道0和引腳PA0。

  二、PWM設置

  這里需要用到較高頻率的時(shí)鐘,所以選擇使用主時(shí)鐘經(jīng)32分頻后的時(shí)鐘(12.5 kHz)。計數器周期為400,即輸出脈沖頻率為125000/400 = 312.5 Hz。同時(shí)需要使能相應的中斷。

  PWM的主要配置代碼如下:

  #define PERIOD_VALUE 400

  /* 時(shí)鐘選擇 */

  PWM->PWM_CH_NUM[0].PWM_CMR = PWM_CMR_CPRE_MCK_DIV_32;

  /* 啟用中斷 */

  PWM->PWM_IER1 = PWM_IER1_CHID0;

  /* 周期及占空比 */

  PWM->PWM_CH_NUM[0].PWM_CPRD= PWM_CPRD_CPRD(PERIOD_VALUE);

  PWM->PWM_CH_NUM[0].PWM_CDTY = PWM_CDTY_CDTY(0);

  /* 使能中斷 */

  NVIC_ClearPendingIRQ(PWM_IRQn);

  NVIC_SetPriority(PWM_IRQn, 0);

  NVIC_EnableIRQ(PWM_IRQn);

  三、PWM中斷處理

  在每個(gè)周期結束后,會(huì )產(chǎn)生一個(gè)中斷。然后在中斷處理函數中,改變占空比。需要注意的是,在PWM使能時(shí),需要通過(guò)寫(xiě)入PWM占空比修改寄存器(PWM_CDTYUPD)來(lái)改變占空比。默認情況下,該修改在下一個(gè)周期生效。

  為得到更好的效果,可以在兩次呼吸之間設置一斷間隔。

  注意,需要通過(guò)讀取PWM_ISR1來(lái)拉低產(chǎn)生的中斷。中斷處理函數在后面的完整代碼中貼出。



關(guān)鍵詞: SAM4E PWM

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>