娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年09月28日(星期六)

2021年09月28日 | stm32f103pwm實現呼吸燈(寄存器)

發布者:數據之翼 來源: eefocus關鍵字:stm32f103  pwm  呼吸燈  寄存器 手機看文章 掃描二維碼
隨時隨地手機看文章

一、思路

通過 Tim 定時器可以設置多路 PWM 實現呼吸燈,所以我們使能一個 TIM3,因為 TIM3 的通道2(CH2)正好映射到 PB5(LED)

然后配置 PB5 為復用推挽輸出,50MHZ

pwm通過定時器 TIM3 的計數器 CNT 從 0 到 ARR(ARR可以設置為0-65535) 進行周期的自增或自減, CNT 每自增或自減一次與 CCR2 比較一次,CCR2的值由我們自己設置,一般通過 while 循環按照我們希望的時間 比如1s增加1

如果在PWM模式1下 CNT向上計數時 CNT < CCR2 則將 PB5設為高電平

如果在PWM模式2下 CNT向上計數時 CNT < CCR2 則將 PB5設為低電平

通過 占空比 = 高電平時間 / 總時間 的變化實現呼吸燈效果

在這里插入圖片描述

二、pwm_init()代碼

void pwm_init() {

//1.配置AFIO 進行端口映射

//使能AFIO

RCC->APB2ENR |= 1 << 0;

//使能GPIOB RCC時鐘

RCC->APB2ENR |= 1 << 3;

//使能TIM3

RCC->APB1ENR |= 1 << 1;

//把TIM3部分映射到GPIOB5

AFIO->MAPR |= 1 << 11;

AFIO->MAPR &= ~(1 << 10);

//2.配置GPIOB5端口

//設置GPIOB5為 復用推挽輸出 即 [23:22] = CNF[1:0]

GPIOB->CRL |= 1 << 23;

GPIOB->CRL &= ~(1 << 22);

//設置GPIOB5為 輸出模式 速度50MHZ   即 [21:20] = MODE[1:1]

GPIOB->CRL |= 1 << 21;

GPIOB->CRL |= 1 << 20;

//LED-OFF

GPIOB->ODR |= 1 << 5;

//3.配置TIM3

//PSC為定時器的分頻器

TIM3->PSC = 0;

//ARR為定時器計數上限  設置自動重裝載值

TIM3->ARR = 5000;

//TIM3->CH2 設置PWM模式1

TIM3->CCMR1 |= 6 << 12;

//TIM3->CH2 預裝載使能

TIM3->CCMR1 |= 1 << 11;

//TIM3->CH2 輸出使能

TIM3->CCER |= 1 << 4;

//使能 ARPE   ARR寄存器的值被裝入緩沖器。

TIM3->CR1 |= 1 << 7;

//使能計數器

TIM3->CR1 |= 1 << 0;

//通過while循環設置TIM3->CCR2的值

int nFlag = 1;

int nPwmValue = 0;

while (1) {

//通過for循環設置每次變化時間

    for (volatile int i = 0; i < 100; i++) {}

    //通過設置 nFlag 的設置自增或自減

    if (nFlag) {

        nPwmValue++;

    } else {

        nPwmValue--;

    }

    //設置周期最大值

    if (nPwmValue >= 5000) {

        nFlag = 0;

    }

    //設置周期最小值

    if (nPwmValue <= 0) {

        nFlag = 1;

    }

    //設置 CCR2 的值

    TIM3->CCR2 = nPwmValue;

}

}


三、 分步講解

1.配置AFIO 進行端口映射 (部分芯片可能不支持 可采用跳線方式實現)

    //使能AFIO

    RCC->APB2ENR |= 1 << 0;

    //使能GPIOB RCC時鐘

    RCC->APB2ENR |= 1 << 3;

    //使能TIM3

    RCC->APB1ENR |= 1 << 1;

    //把TIM3部分映射到GPIOB5

    AFIO->MAPR |= 1 << 11;

    AFIO->MAPR &= ~(1 << 10);

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

2.配置GPIOB5端口

    //設置GPIOB5為 復用推挽輸出 即 [23:22] = CNF[1:0]

    GPIOB->CRL |= 1 << 23;

    GPIOB->CRL &= ~(1 << 22);

    //設置GPIOB5為 輸出模式 速度50MHZ   即 [21:20] = MODE[1:1]

    GPIOB->CRL |= 1 << 21;

    GPIOB->CRL |= 1 << 20;

    //LED-OFF

在這里插入圖片描述
在這里插入圖片描述

3.配置TIM3

    //PSC為定時器的分頻器

    TIM3->PSC = 0;

    //ARR為定時器計數上限  設置自動重裝載值

    TIM3->ARR = 5000;

   

    //TIM3->CH2 設置PWM模式1

    TIM3->CCMR1 |= 6 << 12;

    //TIM3->CH2 預裝載使能

    TIM3->CCMR1 |= 1 << 11;

   

    //TIM3->CH2 輸出使能

    TIM3->CCER |= 1 << 4;

   

    //使能 ARPE   ARR寄存器的值被裝入緩沖器。

    TIM3->CR1 |= 1 << 7;

    //使能計數器

    TIM3->CR1 |= 1 << 0;

   

    //通過while循環設置TIM3->CCR2的值

    int nFlag = 1;

    int nPwmValue = 0;

    while (1) {

    //通過for循環設置每次變化時間

        for (volatile int i = 0; i < 100; i++) {}

        //通過設置 nFlag 的設置自增或自減

        if (nFlag) {

            nPwmValue++;

        } else {

            nPwmValue--;

        }

        //設置周期最大值

        if (nPwmValue >= 5000) {

            nFlag = 0;

        }

        //設置周期最小值

        if (nPwmValue <= 0) {

            nFlag = 1;

        }

        //設置 CCR2 的值

        TIM3->CCR2 = nPwmValue;

    }

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

關鍵字:stm32f103  pwm  呼吸燈  寄存器 引用地址:stm32f103pwm實現呼吸燈(寄存器)

上一篇:基于STM32最簡單的呼吸燈
下一篇:STM32入門學習之GPIO(STM32F030F4P6基于CooCox IDE)(寄存器操作版

推薦閱讀

  周三,在紐約的“同一個地球”峰會上,世界銀行集團宣布了一項大力支持電池存儲的計劃:投入10億美元(8.54億歐元)的自有資金,加快在發展中國家和中等收入國家的技術投資。   世界銀行的融資預計將為新的全球計劃再籌集40億美元。世行將通過氣候投資基金的清潔技術基金(CTF)等渠道,再籌集10億美元的優惠氣候基金。預計還將有30億美元來自公...
配合《STM32F4xx 中文參考手冊》 RCC 章節一起閱讀,效果會更佳,特別是涉及到寄存器說明的部分。 RCC : reset clock control 復位和時鐘控制器。本章我們主要講解時鐘部分,特別是要著重理解時鐘樹,理解了時鐘樹, F429 的一切時鐘的來龍去脈都會了如指掌。13.1 RCC 主要作用—時鐘部分: 設置系統時鐘 SYSCL...
很多世界頂尖的“建筑師”可能是你從未聽說過的人,他們設計并創造出了很多你可能從未見過的神奇結構,比如在芯片內部源于沙子的復雜體系。如果你使用手機、電腦,或者通過互聯網收發信息,那么你就無時無刻不在受益于這些建筑師們的偉大工作。 赫曼·豪瑟(Hermann Hauser)就是這些“建筑師”里的一員。可以說,現年72歲的赫曼·豪瑟是個標準的“斜杠人...
大陸昆山等地下達限電停工令,半導體、面板、組裝代工業目前相對無礙,包括聯電(2303)旗下8英寸晶圓廠蘇州和艦、日月光投控、友達、仁寶、緯創等指標廠昨(27)日均表示,目前大陸廠區正常運作。法人指出,相關廠商目前生產不受影響,因此“沒有訂單出不了貨的問題,也不會有轉單狀況發生”。現階段半導體市況供不應求,加上年底歐美旺季將至,和艦、日...

史海拾趣

問答坊 | AI 解惑

基于晶閘管關斷時間控制的高效中頻電源

摘要:針對常規晶閘管并聯諧振中頻電源存在的在熔煉期內輸出功率達不到額定功率的問題,設計了一種對DC/AC逆變器采用調節功率角?的觸發控制電路,配合原有的AC/DC相控雙閉環控制電路,可以使中頻熔煉電源實現高效控制。…

查看全部問答∨

幫忙

有個單子要交,需要用到單片機,高薪尋求高手合作。有意請加QQ:85288499,請注明:單片機…

查看全部問答∨

F2812復位后,XCLKOUT腳的輸出

我自己畫了個F2812的最小系統板,晶振用的是25MHZ。 把電路焊好后,上電。用示波器看XCLKOUT的輸出,是6.25MHZ的時鐘信號。板子放了一會,什么也沒做,再上電,用示波器看XCLKOUT的輸出,發現是3.125MHZ的時鐘信號,接下來再測時,一直都是3.125MH ...…

查看全部問答∨

FPGA設計成功的關鍵

1、想方設法使用一個時鐘,進行同步設計。 2、確保信號建立時間無誤。 3、盡量降低電路速度。 4、不要認為使用硬件描述語言是做軟件。時刻保將自己寫的每條語句都能找到成相應的硬件。…

查看全部問答∨

一個數據類型的疑問

一個數據類型的疑問 程序如下:void display(void)                  {     int y;     uchar code rel[]={0,1,2,3,4,5,6,7};    //數碼管選通  ...…

查看全部問答∨

proteus仿真沒有我想要的元件怎么辦

proteus仿真沒有我想要的元件ADS1211和MAX531,這分別是模數轉換和數模轉換元件,沒有這兩個元件,怎么做才能與keilc程序仿真出實際的效果啊…

查看全部問答∨

pxa270的 晶振不起振

我的試驗板上用了pxa270做主芯片,需要一個13M跟一個32.768K的晶振,現在的情況是,兩晶振沒有波形輸出,晶振沒有問題,因為我在賣的開發板上試驗了,是有波形輸出的,我想問一下,應該是哪方面的原因,…

查看全部問答∨

PND2442 - 主流手持設備方案—S3C2442-SC32442的相關方案資料

大家好,初來論壇。 發些資料給論壇,有興趣可看看。 因上傳不了。 給一下下載地址啦: s3c2442架構與選型文檔 [/url] 主流手持設備方案—S3C2442-SC32442 [url=http://www.openemb.com/download/PND2442.rar] 如想要其它資料可發EMAIL到 ...…

查看全部問答∨

PB5.0,編譯出現錯誤:error C2220: warning treated as error - no object file generated

平臺:PB5.0         小弟做一個內核時候,在build階段出現一個錯誤,具體如下: BUILD: [00:0000000029:PROGC ] Compiling \\WINCE500\\PLATFORM\\855gme\\Src\\Kernel\\Libs\\Kitl\\ directory. BUILD: [01:000 ...…

查看全部問答∨

用arm將SD卡/Flash模擬成一個u盤

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我一直想做一個usb傳輸的東西,利用arm7或者stm32的USB口,講sd卡/Nand Flash模擬成一個u盤,像手機的usb扣那樣,講SD卡當做u盤來傳輸數據,請問各位有沒有相關的資料啊…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 郁南县| 宜宾市| 社会| 碌曲县| 宜丰县| 简阳市| 灵武市| 余干县| 鸡泽县| 南岸区| 彰化市| 横山县| 全南县| 白朗县| 上高县| 内江市| 景东| 普宁市| 孟连| 建湖县| 雅安市| 雷山县| 漾濞| 泰兴市| 十堰市| 临泽县| 五家渠市| 宝应县| 大丰市| 徐汇区| 高青县| 沙洋县| 秭归县| 巴青县| 玛纳斯县| 石柱| 调兵山市| 莱西市| 新建县| 临沭县| 商丘市|