国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32的復用時鐘的開啟時間

汽車玩家 ? 來源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2020-04-04 17:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

STM32的AFIO時鐘真的是在開啟引腳復用功能的時候開啟嗎?其實并不是~

什么是復用?

我們知道,STM32有很多外設,這些外設的外部引腳都是與GPIO共用的。我們可以通過軟件來配置引腳作為GPIO引腳還是作為外設引腳。當引腳配置為外設引腳時就叫做復用。如串口默認復用的引腳為:

STM32的復用時鐘的開啟時間

PA9、PA10引腳可配置為普通IO,也可配置為串口引腳(PA9為TX,PA10為RX)。

例子:串口1為例

關于外設的配置可查閱:《STM32參考手冊》關于通用和復用功能I/O(GPIO和AFIO) 的章節,如串口引腳配置如下:

STM32的復用時鐘的開啟時間

我們可能經常看到一些代碼(基于STM32F103ZET6)的串口配置如下:

STM32的復用時鐘的開啟時間

看到這里開啟了AFIO時鐘,讓我疑惑了一下,為什么SPI相關的引腳也配置為復用但并沒有開啟APIO時鐘也能正常工作。所以AFIO時鐘應該什么時候開呢?

我們回顧一下,我們為什么要開啟時鐘呢?因為我們要對芯片內部的硬件進行控制(讀寫其寄存器),要控制哪一部分,就要開啟那一部分的時鐘。

本例中,使能GPIOA、USART1的時鐘是因為我們要對GPIOA、USART1相關的寄存器進行操作。那么AFIO呢?其管理的寄存器有哪些呢?從參考手冊關于通用和復用功能I/O(GPIO和AFIO)這一章節可以看到AFIO管理的寄存器如下:

STM32的復用時鐘的開啟時間

可以知道,本例對USART1進行配置,并沒有涉及到AFIO相關的寄存器,所以并不需要打開AFIO時鐘!

所以這里的第7行代碼可以刪掉。當然不刪也可以正常工作,但是會白白增加能耗、寫無用代碼(白白浪費程序存儲器空間)而已!

何時開啟AFIO時鐘?

按照上面分析的,當然是要操作AFIO相關的寄存器的時候才開啟AFIO時鐘。此處依舊以串口為例。我們看到AFIO管理的寄存器中有復用重映射和調試I/O配置寄存器(AFIO_MAPR) 這一寄存器,這個寄存器怎么用呢?

首先,我們要知道什么是重映射。

使用重映射功能可以把一些復用功能重新映射到其他引腳上,在某些時候可以方便板級硬件的布局設計。設置AFIO_MAPR寄存器實現引腳的重新映射。此時,復用功能不再映射到它們的原始分配上。 可以重映射到任意引腳嗎?其實是有規定的,可查閱參考手冊,如串口1的重映射:

STM32的復用時鐘的開啟時間

我們可以配置PB6、PB7作為串口1的TX、RX引腳,具體配置代碼如下:

STM32的復用時鐘的開啟時間

這里得調用一個重映射配置函數GPIO_PinRemapConfig,可在這個函數在stm32f10x_gpio.c中,如下:

STM32的復用時鐘的開啟時間

其中第一個參數為要重映射的外設,可在stm32f10x_gpio.h中查看:

STM32的復用時鐘的開啟時間

其中重映射又分為部分重映射和完全重映射,區別就是要重映射全部的引腳還是部分引腳,這也是有規定的。比如定時器1:

STM32的復用時鐘的開啟時間

我們從GPIO_PinRemapConfig函數的實現中可以看到我們需要操控AFIO_MAPR寄存器,所以需要開啟AFIO時鐘。

綜上,需要操控AFIO管理的寄存器才需開啟AFIO時鐘,否則不需要開啟。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373415
  • 串口
    +關注

    關注

    15

    文章

    1619

    瀏覽量

    82811
  • GPIO
    +關注

    關注

    16

    文章

    1328

    瀏覽量

    56219
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    北斗衛星時鐘:當“中國時間”開始自己跳動

    從電力系統的自動故障定位,到金融市場的電子交易時間戳,再到數字航道的船舶智能調度,現代社會無數關鍵場景都依賴一個看不見的基石——精準的時間同步。而在這背后,北斗衛星時鐘正從“可用”向“好用”蛻變,走過了一條不平凡的技術演進之路。
    的頭像 發表于 02-25 14:43 ?64次閱讀
    北斗衛星<b class='flag-5'>時鐘</b>:當“中國<b class='flag-5'>時間</b>”開始自己跳動

    深入解析CDCV304:高性能通用時鐘緩沖器的技術洞察

    深入解析CDCV304:高性能通用時鐘緩沖器的技術洞察 在電子設計領域,時鐘緩沖器是保障系統時鐘信號穩定傳輸與分配的關鍵組件。今天,我們將深入探討德州儀器(TI)的CDCV304——一款200
    的頭像 發表于 02-10 14:30 ?154次閱讀

    探索LMKDB12xx:PCIe時鐘復用器的卓越之選

    探索LMKDB12xx:PCIe時鐘復用器的卓越之選 在高速數據傳輸和處理的時代,PCIe技術的發展日新月異,從Gen 1到Gen 7,對時鐘信號的質量和穩定性提出了越來越高的要求。今天,我們就來
    的頭像 發表于 02-06 15:10 ?1671次閱讀

    LMKDB12xx:PCIe時鐘復用器的卓越之選

    LMKDB12xx:PCIe時鐘復用器的卓越之選 在當今高速發展的電子科技領域,PCIe技術不斷演進,對時鐘信號的穩定性和低抖動要求愈發嚴苛。LMKDB12xx系列作為PCIe Gen 1至Gen
    的頭像 發表于 02-06 15:00 ?1734次閱讀

    探索RC192xx:PCIe Gen5/6 2 - 輸入時鐘復用器家族的卓越性能

    探索RC192xx:PCIe Gen5/6 2 - 輸入時鐘復用器家族的卓越性能 在當今高速發展的電子領域,對于高性能時鐘復用器的需求日益增長。Renesas的RC192xx系列
    的頭像 發表于 12-30 09:55 ?625次閱讀

    STM32F405驅動DS1302時鐘模塊,輸出時間錯亂該怎么排查?

    各位電子圈的朋友,最近用STM32F405RGT6驅動DS1302實時時鐘模塊時,遇到了時間顯示錯亂的問題:輸出的時間會出現“2055-55-55 55:55:55”這類明顯異常的數值
    發表于 11-13 16:48

    ?LMK3H2104 4-Output PCIe時鐘發生器技術文檔總結

    LMK3H2104 是一款基于 BAW 的時鐘發生器,不需要任何外部 XTAL 或 XO。該器件可用作PCIe時鐘發生器或通用時鐘發生器。2 個 FOD(分數輸出分頻器)同時提供頻率靈活性、低功耗
    的頭像 發表于 09-10 09:21 ?898次閱讀
    ?LMK3H2104 4-Output PCIe<b class='flag-5'>時鐘</b>發生器技術文檔總結

    賽思高保持小型時鐘模塊:精確時間的守護者

    在我們的日常生活中,時間是一切的基礎。無論是工作、學習還是生活,我們都需要依賴于時間來規劃和安排。而在這個快節奏的社會中,如何準確地掌握時間成為了我們必須面對的問題。這時,高保持小型時鐘
    的頭像 發表于 07-22 14:37 ?446次閱讀
    賽思高保持小型<b class='flag-5'>時鐘</b>模塊:精確<b class='flag-5'>時間</b>的守護者

    HarmonyOS NEXT應用元服務布局優化長列表使用懶加載與組件復用

    長列表這一場景,在本地模擬了10、100、1000、10000條數據,分別使用ForEach、LazyForEach,來測試關閉和開啟懶加載情況下的完全顯示所用時間、列表掛載時間、獨占內存,并分析了其
    發表于 06-27 16:08

    STM32L433VCT6 LCD復用引腳如何分配?

    背景:使用STM32L433VCT6驅動段碼屏,33個段,其中用到一個PC10引腳,使用STM32CubeMX配置,只配置了LCD復用功能,但是用于LCD_SEG40還是LCD_SEG28,沒有指定。 數據手冊: 問題:如何
    發表于 06-20 08:26

    GPS衛星時鐘:高精度時間同步的技術核心

    在現代科技體系中,精確的時間同步是許多關鍵領域的基礎,而GPS衛星時鐘正是實現這一目標的核心技術之一。它不僅為全球定位系統(GPS)提供時間基準,還在通信、電力、金融等領域發揮著重要作用。
    的頭像 發表于 06-16 14:38 ?1050次閱讀

    北斗時鐘系統:提升時間精度的重要技術

    時鐘系統作為北斗導航系統的重要組成部分,對于提升時間精度起著至關重要的作用。北斗時鐘系統是指北斗衛星上的原子鐘,它是基于原子物理學原理制作的高精度時間測量裝置。在衛
    的頭像 發表于 06-05 14:15 ?810次閱讀
    北斗<b class='flag-5'>時鐘</b>系統:提升<b class='flag-5'>時間</b>精度的重要技術

    北斗時間同步時鐘:為現代生活提供精準時間

    時間,是我們日常生活中不可或缺的一部分。從手機上的時間顯示到交通信號燈的控制,從金融交易的記錄到電力系統的調度,時間的準確性直接影響著社會的運轉效率。而北斗時間同步
    的頭像 發表于 05-30 14:23 ?1160次閱讀
    北斗<b class='flag-5'>時間</b>同步<b class='flag-5'>時鐘</b>:為現代生活提供精準<b class='flag-5'>時間</b>

    請問STM32CUBEIDE如何開啟代碼聯想功能?

    STM32CUBEIDE如何開啟代碼聯想功能?
    發表于 03-10 08:23

    如何加快STM32G473上電時間

    現在采用STM32G473,采用外部8M晶振,工作為72M,測試上電3.3V到時鐘初始化完,大約需要5ms,有沒有什么措施加快上電時間?即縮短上電3.3V到時鐘初始化完成的
    發表于 03-07 08:11