国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

cortex-A7核PWM實(shí)驗(yàn)--STM32MP157

這篇具有很好參考價(jià)值的文章主要介紹了cortex-A7核PWM實(shí)驗(yàn)--STM32MP157。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

實(shí)驗(yàn)?zāi)康模候?qū)動(dòng)風(fēng)扇,蜂鳴器,馬達(dá)進(jìn)行工作

目錄

一,PWM相關(guān)概念

有源蜂鳴器和無(wú)源蜂鳴器

二,分析電路圖,框圖

三,分析RCC章節(jié)

1,確定總線連接

2,根據(jù)總線內(nèi)容確定基地址

3.分析RCC章節(jié)所需寄存器

1,RCC_MP_AHB4ENSETR寄存器

2,RCC_MP_APB1ENSETR寄存器

四,分析GPIO章節(jié)寄存器

1,GPIOx_MODER寄存器

2,GPIOx_AFRL寄存器

五,分析TIM4章節(jié)

?1,概述:?編輯

2,特點(diǎn):

計(jì)數(shù)方式:

3.內(nèi)部框圖

4,捕獲 / 比較寄存器 CCR(Capture / Compare 1register)

5,分頻工作原理

6,分析TIM4寄存器

1,分析TIMx_CR1寄存器

2,分析TIMx_CCMR1寄存器

3,分析TIMx_CCER寄存器

4,分析TIMx_PSC寄存器

5,分析TIMx_ARR寄存器

6,分析TIMx_CCR1寄存器

六,風(fēng)扇,馬達(dá)


一,PWM相關(guān)概念

PWM:(Pulse Width Modulation)脈沖寬度調(diào)制:是一種占空比可變的脈沖波形,是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法

脈沖: 方波信號(hào),高低電平變化會(huì)產(chǎn)生方波信號(hào)

周期:高低電平變化所需要的時(shí)間,單位ms

頻率:周期和頻率之間成倒數(shù)關(guān)系,單位:HZ,1s中可以產(chǎn)生多少個(gè)方波信號(hào)

占空比:在一個(gè)方波內(nèi),高電平占整個(gè)周期的百分比

cortex-A7核PWM實(shí)驗(yàn)--STM32MP157,ARM,stm32,嵌入式硬件,單片機(jī)

有源蜂鳴器和無(wú)源蜂鳴器

1,源不是電源,是震蕩源

2,有源蜂鳴器內(nèi)部有一個(gè)震蕩源,高電平發(fā)出響聲,編程給高低電平即可

3,無(wú)源蜂鳴器內(nèi)部沒(méi)有震蕩源,需要特定的方波信號(hào)驅(qū)動(dòng)進(jìn)行工作,價(jià)格較便宜

4,本實(shí)驗(yàn)開(kāi)發(fā)板有緣當(dāng)無(wú)源使用,產(chǎn)生PWM方波

二,分析電路圖,框圖

1.根據(jù)擴(kuò)展版原理圖 網(wǎng)絡(luò)編號(hào):結(jié)合資源擴(kuò)展板 對(duì)應(yīng)引腳:

蜂鳴器:TIM4_CH1 === PB6

馬達(dá):TIM16_CH1? === PF6

風(fēng)扇:TIM1_CH1? ? === PE9

2.實(shí)驗(yàn)以蜂鳴器為例

框圖

cortex-A7核PWM實(shí)驗(yàn)--STM32MP157,ARM,stm32,嵌入式硬件,單片機(jī)

?分析:

1,需要分析芯片手冊(cè) RCC/GPIO/TIM4章節(jié)

2,RCC:使能GPIOB組/TIM4組控制器

3,GPIO:1)設(shè)置復(fù)用功能, 2)設(shè)置復(fù)用功能TIM4_CH1

4,TIM4:產(chǎn)生PWM方波信號(hào)

三,分析RCC章節(jié)

1,確定總線連接

根據(jù)Memory and bus architecture 章節(jié)中?Memory map and register boundary addresses 篇確定GPIO總線:APB4;TIM總線:APB1

2,根據(jù)總線內(nèi)容確定基地址

RCC:? ? 0x5000 0000

GPIOB:0x5000 3000

TIM4:? ?0x4000 2000

根據(jù)基地址和寄存器的偏移量確定寄存器的地址: 寄存器地址 = 基地址 + 偏移地址

3.分析RCC章節(jié)所需寄存器

1,RCC_MP_AHB4ENSETR寄存器

作用:使能GPIOB組控制器

地址:0x5000000 + 0xA28 = 0x50000A28

偽代碼:RCC_MP_AHB4ENSETR [1]?= 1

2,RCC_MP_APB1ENSETR寄存器

作用:使能TIM4組寄存器

地址:0x5000000 + 0xA00 = 0x50000A00

偽代碼:RCC_MP_APB1ENSETR [2]?= 1

四,分析GPIO章節(jié)寄存器

1,GPIOx_MODER寄存器

作用:設(shè)置GPIOB引腳模式為復(fù)用功能模式(共四種:輸入,輸出,復(fù)用,模擬)

地址:0x50003000 + 0x00 = 0x50003000

操作:GPIOB_MODER [13:12] = 10

2,GPIOx_AFRL寄存器

作用:設(shè)置GPIOB引腳復(fù)用功能為TIM4_CH1功能

地址:0x50003000 + 0x20 = 0x50003020

偽代碼:GPIOB_AFRL [27:24] = 0010?(復(fù)用功能 根據(jù) Pinouts, pin description and alternate functions章節(jié)確定要給定的值)

五,分析TIM4章節(jié)

?1,概述:

1,自動(dòng)重載計(jì)數(shù)器,可編程分頻器

2,輸出方波

3,定時(shí)器預(yù)分頻器,RCC時(shí)鐘控制器預(yù)分頻器

4,獨(dú)立通道

2,特點(diǎn):

cortex-A7核PWM實(shí)驗(yàn)--STM32MP157,ARM,stm32,嵌入式硬件,單片機(jī)

1,16位遞增,遞減,遞增/遞減自動(dòng)重載計(jì)數(shù)器

2,遞增,遞減:邊沿對(duì)齊模式

3,遞增/遞減:中心對(duì)齊模式

計(jì)數(shù)方式:

例:遞增計(jì)數(shù)器:驅(qū)動(dòng)遞增計(jì)數(shù)器時(shí)鐘信號(hào),每來(lái)一個(gè)時(shí)鐘周期,計(jì)數(shù)器中的值進(jìn)行加1操作,加到和遞增計(jì)數(shù)器中的值相等以后,從0開(kāi)始,開(kāi)啟下一個(gè)時(shí)鐘周期

3.內(nèi)部框圖

cortex-A7核PWM實(shí)驗(yàn)--STM32MP157,ARM,stm32,嵌入式硬件,單片機(jī)

1,系統(tǒng)提供時(shí)鐘源209MHz,通過(guò)PSC(prescaler)預(yù)分頻器分頻,分頻值為209分頻(自定義)

2,定時(shí)器啟動(dòng)后,自動(dòng)重載計(jì)數(shù)器ARR(Auto-reload register)中的值會(huì)自動(dòng)加載到遞減計(jì)數(shù)器CNT(counter)中

3,時(shí)鐘信號(hào)驅(qū)動(dòng)遞減計(jì)數(shù)器進(jìn)行工作,一個(gè)時(shí)鐘周期內(nèi),計(jì)數(shù)器中數(shù)字連續(xù)減1操作,直到減到0后,自動(dòng)重載計(jì)數(shù)器(ARR)中的值自動(dòng)加載到遞減計(jì)數(shù)器中,開(kāi)啟下一個(gè)時(shí)鐘周期

4,捕獲 / 比較寄存器 CCR(Capture / Compare 1register)

作用:?????1,產(chǎn)生PWM方波

? ? ? ? ? ? ? ? 2,當(dāng)遞減計(jì)數(shù)器(CNT)中的值和捕獲比較寄存器(CCR)中的值相等之后,電平會(huì)發(fā)生翻轉(zhuǎn)

5,分頻工作原理

cortex-A7核PWM實(shí)驗(yàn)--STM32MP157,ARM,stm32,嵌入式硬件,單片機(jī)

CK_PSC:系統(tǒng)提供的時(shí)鐘源

CEN:使能信號(hào)

Timerclock = CK_CNT:計(jì)數(shù)器時(shí)鐘

Counter register :計(jì)數(shù)器寄存器

Update event(UEV):更新事件

Prescaler control register:預(yù)分頻控制寄存器

Prescaler buffer:分頻器緩沖區(qū)

Prescaler counter:分頻器計(jì)數(shù)器

TIMx_CR1寄存器中ARPE的值會(huì)影響自動(dòng)重載計(jì)數(shù)器加載,=0,立即加載, =1,下一時(shí)鐘周期加載

6,分析TIM4寄存器

1,分析TIMx_CR1寄存器

作用:初始化寄存器相關(guān)操作

地址:0x40002000 + 0x00 = 0x40002000

偽代碼:

????????TIM4_CR1[7] = 1? ==== 設(shè)置自動(dòng)重載預(yù)加載寄存器(ARR)使能

? ? ? ? TIM4_CR1[6:5] = 00 ==== 邊沿對(duì)齊模式(CNT采用遞減模式,邊沿對(duì)齊)

? ? ? ? TIM4_CR1[4] = 1 ====? 設(shè)置計(jì)數(shù)器CNT設(shè)置為遞減計(jì)數(shù)方式

? ? ? ? TIM4_CR1[0] = 1 ====? 設(shè)置計(jì)數(shù)器CNT使能

2,分析TIMx_CCMR1寄存器

作用:配置比較捕獲寄存器

地址:0x40002000 + 0x18 = 0x40002018

偽操作:TIM4_CCMR1 [16][6:4] = 0110 ==== 設(shè)置通道1比較捕獲模式為PWM模式

TIM4_CCMR1 [3] = 1 ==== 設(shè)置捕獲 / 比較寄存器預(yù)加載使能

TIM4_CCMR1 [1:0] = 00 ==== 設(shè)置輸出通道為通道1

3,分析TIMx_CCER寄存器

作用:設(shè)置比較捕獲寄存器(CCR)默認(rèn)輸出極性

地址:0x40002000 + 0x20 = 0x40002020

偽代碼:TIM4_CCER [3][1] = 00 / 01 ==== 設(shè)置比較捕獲寄存器,默認(rèn)輸出極性高/低電平(自定義)

TIM_CCER [0] = 1 ==== 設(shè)置比較捕獲寄存器輸出使能

4,分析TIMx_PSC寄存器

作用:設(shè)置系統(tǒng)時(shí)鐘分頻值

地址:0x40002000 + 0x28 = 0x40002028

偽代碼:TIM4_PSC = 209 - 1 (自定義)

5,分析TIMx_ARR寄存器

作用:設(shè)置自動(dòng)重載計(jì)數(shù)器(ARR)中的的值

地址:0x40002000 + 0x2C = 0x4000202C

偽代碼:TIM4_ARR = 1000(自定義)

6,分析TIMx_CCR1寄存器

作用:設(shè)置捕獲比較器(CCR)中的值

地址:0x40002000 + 0x34 = 0x40002034

偽代碼:TIM4_CCR1 = 300(自定義)

六,風(fēng)扇,馬達(dá)

風(fēng)扇和馬達(dá)根據(jù)網(wǎng)絡(luò)編號(hào),通道和對(duì)應(yīng)引腳編號(hào)更改寄存器中的值即可

另:馬達(dá)不用設(shè)置CR1寄存器邊沿對(duì)齊模式和遞減計(jì)數(shù)方式

風(fēng)扇和馬達(dá)多一個(gè)寄存器BDTR

TIMx_BDTR

作用:主輸出使能

地址:0x40002000 + 0x44 = 0x40002044

偽代碼:TIMx_BDTR [15] = 1(x根據(jù)網(wǎng)絡(luò)編號(hào))文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-681673.html

到了這里,關(guān)于cortex-A7核PWM實(shí)驗(yàn)--STM32MP157的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ARM開(kāi)發(fā),stm32mp157a-A7核IIC實(shí)驗(yàn)(采集溫濕度傳感器值)

    ARM開(kāi)發(fā),stm32mp157a-A7核IIC實(shí)驗(yàn)(采集溫濕度傳感器值)

    ---iic.h封裝時(shí)序協(xié)議頭文件--- ---iic.c封裝時(shí)序函數(shù)實(shí)現(xiàn)--- ---si7006.h讀取溫濕度頭文件--- ---si7006.c讀取溫濕度函數(shù)--- ---main.c主函數(shù)測(cè)試---

    2024年02月11日
    瀏覽(51)
  • SQLite3移植STM32MP157 ARM開(kāi)發(fā)板

    SQLite3移植STM32MP157 ARM開(kāi)發(fā)板

    移植首先就得有源碼,從SQLite官網(wǎng)下載最新版源碼 下載地址 這里使用的環(huán)境為Ubuntu16 所以直接在Ubuntu下下載的。 下載完成后解壓文件 進(jìn)入解壓后的目錄 進(jìn)入后可以看到解壓出的源碼文件如下 配置生成Makefile 在源碼個(gè)目錄下執(zhí)行如下命令 –host為指定交叉編譯器為arm-linux-

    2024年02月07日
    瀏覽(17)
  • 嵌入式linux物聯(lián)網(wǎng)畢業(yè)設(shè)計(jì)項(xiàng)目智能語(yǔ)音識(shí)別基于stm32mp157開(kāi)發(fā)板

    嵌入式linux物聯(lián)網(wǎng)畢業(yè)設(shè)計(jì)項(xiàng)目智能語(yǔ)音識(shí)別基于stm32mp157開(kāi)發(fā)板

    stm32mp157開(kāi)發(fā)板FS-MP1A是華清遠(yuǎn)見(jiàn)自主研發(fā)的一款高品質(zhì)、高性價(jià)比的Linux+單片機(jī)二合一的嵌入式教學(xué)級(jí)開(kāi)發(fā)板。開(kāi)發(fā)板搭載ST的STM32MP157高性能微處理器,集成2個(gè)Cortex-A7核和1個(gè)Cortex-M4 核,A7核上可以跑Linux操作系統(tǒng),M4核上可以跑FreeRTOS、RT-Thread等實(shí)時(shí)操作系統(tǒng)。開(kāi)發(fā)板搭配仿真

    2024年02月02日
    瀏覽(102)
  • 驅(qū)動(dòng)開(kāi)發(fā),stm32mp157a開(kāi)發(fā)板的led燈控制實(shí)驗(yàn)

    驅(qū)動(dòng)開(kāi)發(fā),stm32mp157a開(kāi)發(fā)板的led燈控制實(shí)驗(yàn)

    ????????編寫LED燈的驅(qū)動(dòng),在應(yīng)用程序中編寫控制LED燈亮滅的代碼邏輯實(shí)現(xiàn)LED燈功能的控制; LED1-PE10 LED1亮滅: RCC寄存器[4]-1 0X50000A28 GPIOE_MODER[21:20]-01 (輸出) 0X50006000 GPIOE_ODR[10]-1(輸出高電平) 0(輸出低電平)0X50006014 LED2-PF10 LED2亮滅: RCC寄存器[5]-1 0X50000A28 GPIOE_MODER[21:20]

    2024年02月09日
    瀏覽(24)
  • STM32MP135和STM32MP157的區(qū)別

    STM32MP135和STM32MP157的區(qū)別

    本文介紹了STMicroelectronics公司推出的兩款多核處理器STM32MP135和STM32MP157之間的區(qū)別,包括主頻、集成硬件模塊數(shù)量、內(nèi)存大小和電壓調(diào)節(jié)模塊等方面。 STMicroelectronics是一家領(lǐng)先的半導(dǎo)體解決方案提供商,在嵌入式系統(tǒng)領(lǐng)域有著豐富的經(jīng)驗(yàn)。他們推出了基于Arm Cortex-A7和Cortex-M

    2024年02月01日
    瀏覽(19)
  • 【嵌入式】STM32F031K4U6、STM32F031K6U6、STM32F031K6T6主流ARM Cortex-M0基本型系列MCU規(guī)格參數(shù)

    【嵌入式】STM32F031K4U6、STM32F031K6U6、STM32F031K6T6主流ARM Cortex-M0基本型系列MCU規(guī)格參數(shù)

    一、電路原理圖 【嵌入式】STM32F031K4U6、STM32F031K6U6、STM32F031K6T6主流ARM Cortex-M0基本型系列MCU —— 明佳達(dá) 二、規(guī)格參數(shù) 1、 STM32F031K4U6 (16KB)閃存 32UFQFPN 核心處理器:ARM? Cortex?-M0 內(nèi)核規(guī)格:32 位單核 速度:48MHz 連接能力:I2C,IrDA,LINbus,SPI,UART/USART 外設(shè):DMA,I2S,POR,

    2024年02月04日
    瀏覽(34)
  • STM32MP157匯編流水燈

    STM32MP157匯編流水燈

    2024年02月07日
    瀏覽(27)
  • LED驅(qū)動(dòng)(原始架構(gòu))——STM32MP157

    LED驅(qū)動(dòng)(原始架構(gòu))——STM32MP157

    LED 的驅(qū)動(dòng)方式,常見(jiàn)的有四種。 ① 使用引腳輸出 3.3V 點(diǎn)亮 LED,輸出 0V 熄滅 LED。 ② 使用引腳拉低到 0V 點(diǎn)亮 LED,輸出 3.3V 熄滅 LED。 ③ 使用引腳輸出 1.2V 點(diǎn)亮 LED,輸出 0V 熄滅 LED。 ④ 使用引腳輸出 0V 點(diǎn)亮 LED,輸出 1.2V 熄滅 LED。 有的芯片為了省電等原因,其引腳驅(qū)動(dòng)能力

    2024年02月16日
    瀏覽(30)
  • STM32MP157驅(qū)動(dòng)開(kāi)發(fā)——按鍵驅(qū)動(dòng)(中斷)

    STM32MP157驅(qū)動(dòng)開(kāi)發(fā)——按鍵驅(qū)動(dòng)(中斷)

    對(duì)于使用中斷的按鍵驅(qū)動(dòng),內(nèi)核自帶的驅(qū)動(dòng)程序 drivers/input/keyboard/gpio_keys.c 就可以,需要做的只是修改設(shè)備樹指定引腳及鍵值 中斷是引入其他基礎(chǔ)知識(shí)的前提:休眠-喚醒、POLL 機(jī)制、異步通知、定時(shí)器、中斷的線程化處理都離不開(kāi)中斷 設(shè)備樹相關(guān) 查看原理圖確定按鍵使用的

    2024年02月15日
    瀏覽(29)
  • STM32MP157驅(qū)動(dòng)開(kāi)發(fā)——按鍵驅(qū)動(dòng)(異步通知)

    STM32MP157驅(qū)動(dòng)開(kāi)發(fā)——按鍵驅(qū)動(dòng)(異步通知)

    Linux 系統(tǒng)中也有很多信號(hào),在 Linux 內(nèi)核源文件 includeuapiasm-genericsignal.h 中,有很多信號(hào)的宏定義: 就 APP 而言,你想處理 SIGIO 信息,那么需要提供信號(hào)處理函數(shù),并且要跟 SIGIO 掛鉤。這可以通過(guò)一個(gè) signal 函數(shù) 來(lái)“給某個(gè)信號(hào)注冊(cè)處理函數(shù)”,用法如下: 重點(diǎn)從②開(kāi)始:

    2024年02月15日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包