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

三大模塊:電源、IO口、時鐘。

一、         首先,我們來看一下電源,下面是電源框圖

從上面我們可以看出,電源給內部的三大關鍵部分供電,一是給ADC供電,這塊無需多說,二是電池備份域,VBAT引腳可以連接到一個可選的待機電壓由電池供電或由另一個來源,當V DD是斷開時保留的備份寄存器的內容和供給的RTC。還一部分主要用來給數字邏輯部分供電,像喚醒邏輯、看門狗、IO等,給內核、內存和數字外設的供電需要在VDD之后加上一個電壓調整器。

接下來介紹的就是低功耗模式了

默認情況下,微控制器是在運行模式后,一個系統或一個上電復位。在運行模式的CPU的時鐘HCLK和程序代碼執行,一些低功耗模式是可用的,以節省電力時,不需要保持運行的中央處理器,例如在等待一個外部事件時。它是由用戶選擇的模式,給出低功耗之間的最佳折衷,啟動時間短,可喚醒源。,短啟動時間和可用喚醒源。

它具有三個低功耗模式:

?睡眠模式((Cortex ?- M4 FPU核心停止,外圍設備保持運行)

?停止模式(所有的時鐘都停止了)

?待機模式(1.2 V關機)

?睡眠模式是通過執行WFI(等待中斷)或WFE(等待事件)指令進入。

?待機模式允許實現最低功耗。它是基于Cortex ?- M4 FPU DEEPSLEEP模式,電壓調節器不使能,1.2 V域因此斷電。鎖相環,HSI振蕩器和HSE振蕩器也關掉。SRAM和寄存器里面內容也丟失,除了備份域寄存器(RTC寄存器和備份寄存器)。

?停止模式是基于Cortex M4?- FPU DEEPSLEEP模式結合外圍時鐘門控。該電壓調節器可以配置為在正常或低功率模式。在停止模式下,在1.2 V域所有時鐘停止,鎖相環,HSI和HSE RC振蕩器被禁用。內部SRAM和寄存器里面的內容被保存。

電源就介紹到這里。

二、         接下來是GPIO

1.        根據手冊上的內容,簡單地綜述一下GPIO的功能:

A.       共有8種模式,可以通過編程選擇:

a)        浮空輸入

b)        帶上拉輸入

c)        帶下拉輸入

d)        模擬輸入

e)        開漏輸出——(此模式可實現hotpower說的真雙向IO)

f)         推挽輸出

g)        復用功能的推挽輸出

h)        復用功能的開漏輸出

模式7和模式8需根據具體的復用功能決定。

B.       專門的寄存器(GPIOx_BSRR和GPIOx_BRR)實現對GPIO口的原子操作,即回避了設置或清除I/O端口時的“讀-修改-寫”操作,使得設置或清除I/O端口的操作不會被中斷處理打斷而造成誤動作。

C.       每個GPIO口都可以作為外部中斷的輸入,便于系統靈活設計。

D.       I/O口的輸出模式下,有3種輸出速度可選(2MHz、10MHz和50MHz),這有利于噪聲控制。

E.        所有I/O口兼容CMOS和TTL,多數I/O口兼容5V電平。

F.        大電流驅動能力:GPIO口在高低電平分別為0.4V和VDD-0.4V時,可以提供或吸收8mA電流;如果把輸入輸出電平分別放寬到1.3V和VDD-1.3V時,可以提供或吸收20mA電流。

G.       具有獨立的喚醒I/O口。

H.       STM32上很多I/O管腳功能可以重新映射。

I.         GPIO口的配置具有上鎖功能,當配置好GPIO口后,可以通過程序鎖住配置組合,直到下次芯片復位才能解鎖。此功能非常有利于在程序跑飛的情況下保護系統中其他的設備,不會因為某些I/O口的配置被改變而損壞——如一個輸入口變成輸出口并輸出電流。

J.         輸出模式下輸入寄存器依然有效,在開漏配置模式下實現真正的雙向I/O功能。

2.        STM32 GPIO端口的輸出速度設置:

當STM32的GPIO端口設置為輸出模式時,有三種速度可以選擇:2MHz、10MHz和50MHz,這個速度是指I/O口驅動電路的速度,是用來選擇不同的輸出驅動模塊,達到最佳的噪聲控制和降低功耗的目的。高頻的驅動電路,噪聲也高,當你不需要高的輸出頻率時,請選用低頻驅動電路,這樣非常有利于提高系統的EMI性能。當然如果你要輸出較高頻率的信號,但卻選用了較低頻率的驅動模塊,你很可能會得到失真的輸出信號。實際上芯片內部在I/O口的輸出部分安排了多個響應速度不同的輸出驅動電路,用戶可以根據自己的需要選擇合適的驅動電路。注意:GPIO的引腳速度是指I/O口驅動電路的響應速度而不是輸出信號的速度,輸出信號的速度與你的程序有關。關鍵是,GPIO的引腳速度跟應用匹配。比如對于串口,假如最大波特率只需115.2k,那么用2M的GPIO的引腳速度就夠了,既省電也噪聲小,對于I2C接口,假如使用400k波特率,若想把余量留大些,那么用2M的GPIO的引腳速度或許不夠,這時可以選用10M的GPIO引腳速度。對于SPI接口,假如使用18M或9M波特率,用10M的GPIO的引腳速度顯然不夠了,需要選用50M的GPIO的引腳速度。

三、         STM32F411時鐘系統框圖:時鐘是整個系統的脈搏

下圖是STM32F411時鐘系統的框圖,通過這個圖可以一目了然地看到各個部件時鐘產生的路徑,還可以很方便地計算出各部分的時鐘頻率。

1在STM32F411中,有五個時鐘源,為HSI、HSE、LSI、LSE、PLL。、HSI是高速內部時鐘,RC振蕩器,頻率為8MHz。

②、HSE是高速外部時鐘,可接石英/陶瓷諧振器,或者接外部時鐘源,頻率范圍為4MHz~16MHz。

③、LSI是低速內部時鐘,RC振蕩器,頻率為40kHz。

④、LSE是低速外部時鐘,接頻率為32.768kHz的石英晶體。

⑤、PLL為鎖相環倍頻輸出,其時鐘輸入源可選擇為HSI/2、HSE或者HSE/2。倍頻可選擇為2~16倍,但是其輸出頻率最大不得超過72MHz。

其中40kHz的LSI供獨立看門狗IWDG使用,另外它還可以被選擇為實時時鐘RTC的時鐘源。另外,實時時鐘RTC的時鐘源還可以選擇LSE,或者是HSE的128分頻。RTC的時鐘源通過RTCSEL[1:0]來選擇。

STM32中有一個全速功能的USB模塊,其串行接口引擎需要一個頻率為48MHz的時鐘源。該時鐘源只能從PLL輸出端獲取,可以選擇為1.5分頻或者1分頻,也就是,當需要使用USB模塊時,PLL必須使能,并且時鐘頻率配置為48MHz或72MHz。

另外,STM32還可以選擇一個時鐘信號輸出到MCO腳(PA8)上,可以選擇為PLL輸出的2分頻、HSI、HSE、或者系統時鐘。

系統時鐘SYSCLK,它是供STM32中絕大部分部件工作的時鐘源。系統時鐘可選擇為PLL輸出、HSI或者HSE。系統時鐘最大頻率為72MHz,它通過AHB分頻器分頻后送給各模塊使用,AHB分頻器可選擇1、2、4、8、16、64、128、256、512分頻。其中AHB分頻器輸出的時鐘送給5大模塊使用:

①  、送給AHB總線、內核、內存和DMA使用的HCLK時鐘。

②  、通過8分頻后送給Cortex的系統定時器時鐘。

③  、直接送給Cortex的空閑運行時鐘FCLK。

④  、送給APB1分頻器。APB1分頻器可選擇1、2、4、8、16分頻,其輸出一路供APB1外設使用(PCLK1,最大頻率36MHz),另一路送給定時器(Timer)2、3、4倍頻器使用。該倍頻器可選擇1或者2倍頻,時鐘輸出供定時器2、3、4使用。

⑤  、送給APB2分頻器。APB2分頻器可選擇1、2、4、8、16分頻,其輸出一路供APB2外設使用(PCLK2,最大頻率72MHz),另一路送給定時器(Timer)1倍頻器使用。該倍頻器可選擇1或者2倍頻,時鐘輸出供定時器1使用。另外,APB2分頻器還有一路輸出供ADC分頻器使用,分頻后送給ADC模塊使用。ADC分頻器可選擇為2、4、6、8分頻。在以上的時鐘輸出中,有很多是帶使能控制的,例如AHB總線時鐘、內核時鐘、各種APB1外設、APB2外設等等。當需要使用某模塊時,記得一定要先使能對應的時鐘。需要注意的是定時器的倍頻器,當APB的分頻為1時,它的倍頻值為1,否則它的倍頻值就為2。

連接在APB1(低速外設)上的設備有:電源接口、備份接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、窗口看門狗、Timer2、Timer3、Timer4。注意USB模塊雖然需要一個單獨的48MHz時鐘信號,但它應該不是供USB模塊工作的時鐘,而只是提供給串行接口引擎(SIE)使用的時鐘。USB模塊工作的時鐘應該是由APB1提供的。

連接在APB2(高速外設)上的設備有:UART1、SPI1、Timer1、ADC1、ADC2、所有普通IO口(PA~PE)、第二功能IO口。

使用HSE時鐘,程序設置時鐘參數流程:

a)        將RCC寄存器重新設置為默認值 RCC_DeInit;

b)        打開外部高速時鐘晶振HSE RCC_HSEConfig(RCC_HSE_ON);

c)        等待外部高速時鐘晶振工作 HSEStartUpStatus = RCC_WaitForHSEStartUp();

d)        設置AHB時鐘 RCC_HCLKConfig;

e)        設置高速AHB時鐘 RCC_PCLK2Config;

f)         設置低速速AHB時鐘 RCC_PCLK1Config;

g)        設置PLL RCC_PLLConfig;

h)        打開PLL RCC_PLLCmd(ENABLE);

i)          等待PLL工作 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)

j)          設置系統時鐘 RCC_SYSCLKConfig;

k)        判斷是否PLL是系統時鐘 while(RCC_GetSYSCLKSource() != 0x08)

l)          打開要使用的外設時鐘 RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()

三大主要模塊就介紹到這里。后面就開始測試芯片的各方面功能。



關鍵字:STM32  STM32F4XX  主體部分 引用地址:STM32學習之:STM32F4XX的三大主體部分

上一篇:STM32學習之:RAM的分配和占用
下一篇:STM32學習之:外部中斷

推薦閱讀

從3月份開始看arm的裸機程序,到現在一個半月了,做到后來,發現自己越做到綜合的程序,越吃力,還是得回頭看看,為了最終寫一個bootloader打下點基礎吧,所以以這篇文章為開始,總結一下之前做過的裸機程序,希望會有所收獲,我用的開發板是友善之臂的mini2440。首先聲明一點我都是在linux環境下寫裸機程序的,因為這樣能知道更多底層的東西,不過在這里...
硬件連接參考原理圖,會看原理圖,使用搜索功能[A1] ,知道標號作用[A2] ,流水燈原理[A3] 。戰艦版本 LED0=PB5 LED1=PE5迷你版本 LED0=PA8 LED1=PD2RCT6版本 LED1=PA7 LED2=PA6 LED3=PA5 LED4=PA4GPIO庫函數初始化函數 1個初始化函數 :void GPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTyped...
日前,上海臨港印發修訂后的《中國(上海)自由貿易試驗區臨港新片區集聚發展人工智能產業若干政策》(以下簡稱《若干政策》)。具體來看,《若干政策》提出,支持關鍵技術源頭創新、支持建設開源深度學習平臺、支持建設用于人工智能的公開數據集、支持基礎設施優化完善和率先應用、支持技術落地應用、支持行業生態建設等方面、支持企業規模化發展、支持企...
WAWA是美國知名的加油服務商并以其高端的加油連鎖站以及特殊的加油體驗為特色。2019年初到至今,昱能科技在美國當地的合作伙伴已在新澤西州各大城市的WAWA加油站屋頂上陸續建成了近百個光伏電站,項目總容量共計約10MW,全部采用昱能科技微型逆變器QS1產品。APsystems綠色電力 節能減排據悉,該近百個光伏加油站約使用了6000臺昱能科技微型逆變器以及約24...

史海拾趣

問答坊 | AI 解惑

關于MISRA-C,你知道多少?

學習MISRA C之一:“安全第一”的C語言編程規范 C語言是開發嵌入式應用的主要工具,然而C語言并非是專門為嵌入式系統設計,相當多的嵌入式系統較一般計算機系統對軟件安全性有更苛刻的要求。1998 年,MISRA指出,一些在C看來可以接受,卻存在安全隱 ...…

查看全部問答∨

基于PDIUSBD12的USB設備固件程序開發

摘要:介紹了基于PDIUSBD12芯片的USB設備硬件組成,詳細論述了USB枚舉的具體過程和 基于PDIUSBD12的MCU固件編程思想,給出了部分單片機C程序代碼,分析了制約實際數據傳輸速 率的原因,并提出了解決方法。…

查看全部問答∨

EVC下如何實現程序自刪除

搜了一些自刪除的程序和思路,全都是PC的,在EVC下不能運行,請問有誰做過EVC下程序的自刪除…

查看全部問答∨

51單片機 擴展19根地址線的SRAM````怎么做?

小弟課題實驗,512K*8的內存,采用19地址線的SRAM,不想借用P1口,因為還有別的用處```關于頁面管理的方法也不是很懂``` 初步采用8255.但是沒有什么概念```8155可以么? 在線等待,謝謝 …

查看全部問答∨

【求助】為DELL PowerEdge 860添加硬盤,什么樣的sata盤都可以嗎?

被朋友托了下周去IDC為DELL PowerEdge 860的服務器加塊硬盤,但之前我沒有去過IDC. RT,想了解一下是不是什么樣的sata盤都可以嗎,需要單買盤架嗎? 另外,去之前要注意些什么事情?…

查看全部問答∨

pelco-d協議的特殊指令如何使用?

想做一個云臺解碼器,看到pelco-d的官方文檔時,并沒有發現有諸如“巡航”等功能的指令。那么這些功能要執行,究竟要接收到什么命令?還是這些指令的“解釋權”由產品的廠家實現?望不吝賜教…

查看全部問答∨

cache與內存地址的轉換問題

cache與內存地址的轉換問題,大家幫忙下。是數工中的一個題: 高速緩存Cache與主存間采用全相聯地址映像方式,高速緩存的容量為4MB,分為4塊,每塊IMB,主存容量為256MB。若主存讀寫時間為30ns,高速緩存的讀寫時間為3ns,平均讀寫時間為3.27ns, ...…

查看全部問答∨

STM32內部內存SRAM如何化分一部分自定義使用

                                 現在想在STM32上的內存上化分一部分空間來自定義使用,不知如何做起,有哪位兄弟對這一塊比較熟悉,望不吝賜教,謝 ...…

查看全部問答∨

LM337電源模塊電壓變小

又到了一年一度的電子設計大賽時刻,可是電源模塊實在是最簡單,又是最基礎最重要的模塊。 目的:希望用線性穩壓芯片LM337.LM317搭建可調模塊,它具有紋波小,效率低特點 問題:搭建的LM317電路接負載時,輸入正常,電壓幅度不變。搭建的LM337電 ...…

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

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

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

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 青铜峡市| 平定县| 建阳市| 南投县| 隆林| 探索| 宁海县| 佛山市| 平定县| 兖州市| 鄯善县| 星座| 庆安县| 横山县| 上杭县| 自治县| 长子县| 霞浦县| 禹州市| 镇康县| 三河市| 怀远县| 大足县| 赣州市| 江门市| 通化县| 海南省| 长垣县| 云南省| 长阳| 张家口市| 绥棱县| 调兵山市| 德清县| 天长市| 永安市| 睢宁县| 浦江县| 健康| 龙胜| 乐业县|