在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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
    +關注

    關注

    2270

    文章

    10915

    瀏覽量

    356754
  • 串口
    +關注

    關注

    14

    文章

    1557

    瀏覽量

    76734
  • GPIO
    +關注

    關注

    16

    文章

    1215

    瀏覽量

    52224
收藏 人收藏

    評論

    相關推薦

    北斗衛星同步時鐘系統:精準時間的秘密

    辦公樓中,所有的電腦、時鐘甚至是樓宇的自動化系統,都顯示著同一個時間。這個時間均來源于北斗衛星同步時鐘系統。這個系統由一個母鐘(主時鐘)和一
    的頭像 發表于 12-03 14:19 ?225次閱讀
    北斗衛星同步<b class='flag-5'>時鐘</b>系統:精準<b class='flag-5'>時間</b>的秘密

    STM32的HAL庫如何開啟FPU?

    求:STM32的HAL庫如何開啟FPU?
    發表于 05-16 07:26

    關于復用和映射的疑問求解

    弱弱的問個問題啊,大神勿噴,如標題所示的這樣。 就是比如USART3原來是PA1,PA2引腳的復用功能,你首先開了GPIOA和USART3的時鐘,然后配置了GPIOA的這個1,2復用,然后配置下
    發表于 05-13 07:40

    STM32如何確定ADC的時鐘頻率?

    想請教一個STM32的AD問題:如何確定ADC的時鐘頻率(信號的采用頻率)? 首先:STM32手冊給出的 t=1.5,7.5,...239.5 是采樣保持的時間,對吧,再加上12.5
    發表于 04-23 07:52

    求助,為什么STM32要設置時鐘開關?

    STM32在使用時離不開時鐘,在做絕大部分操作之前,除了要先進行相應的配置之外,關鍵還要開啟時鐘,否則就什么事都做不了。既然如此,為什么設計
    發表于 04-23 06:05

    stm32定時器在初始化參數之前是否必須開啟對應時鐘

    參數的時候,對應定時器時鐘并沒有開啟,導致PWM不能正常輸出,當在這些函數之前,開啟對應時鐘,就正常了。看是調試對比,TIM的寄存器沒有差別,不知道為什么,所以問一下在初始化參數之前是
    發表于 04-18 06:42

    STM32F410端口復用SPI5,引腳電平很低的原因?

    STM32F410復用為硬件SPI5口,做DMA輸入,不需要輸出,如果用軟件模擬的SPI口沒有問題,電平是正常的3.3v,如果復用成硬件SPI5口,不論是時鐘還是數據線上的電平都非常低
    發表于 04-12 07:29

    請問STM32f103使用PB14做外部中斷為什么要開啟復用時鐘才能用?

    如題,我其他中斷不開啟用時鐘也可以用,這是為啥?有大佬能解個惑嗎?
    發表于 04-11 07:22

    如何減少STM32F103 ADC采集時間

    路ADC采集,采用時間為7.5周期,測試出來每通道采樣時間居然為10ms,當采用時間為239.5周期時,采樣時間高達134ms。換了另一塊板也一樣。
    發表于 04-10 08:20

    有關stm32f103端口復用的幾個問題求解

    在學習GPIO時,遇到到端口復用問題一直不能明白,我舉個例子: PB6 PB7默認情況下是做普通IO使用的,當我想用I2C1是,我開啟RCC_APB1PeriphClockCmd
    發表于 04-07 07:32

    STM32L051同時開啟RTC時間戳和秒喚醒后,使用GPIO引腳無法觸發時間戳中斷如何解決?

    STM32L051同時開啟RTC時間戳和秒喚醒后,使用GPIO引腳無法觸發時間戳中斷。但使用一個3.3V的電源接到PC13能夠觸發RTC時間
    發表于 04-01 06:37

    STM32H743外部時鐘輸入采用25MHz有源晶振,設備正常工作一段時間STM32不再工作的原因?

    STM32H743外部時鐘輸入采用25MHz有源晶振,目前出現的問題是:設備正常工作一段時間后(時間不定,有時幾分鐘,有時二十多分鐘),STM32
    發表于 03-22 12:08

    使用STM32H743-ADC設置PLL2為時鐘源為什么開啟不了?

    ,發現能采集到數據: 然后下載到同樣為STM32H743IIT6的另外一個開發版時卻發現采集到的數據為0。這是為什么呀? 這個開發板也類似最小核心開發板了,可是我卻開啟不了PLL2作為它的ADC時鐘
    發表于 03-12 08:30

    CDCV304 200 MHz通用時鐘緩沖器數據表

    電子發燒友網站提供《CDCV304 200 MHz通用時鐘緩沖器數據表.pdf》資料免費下載
    發表于 02-28 13:55 ?0次下載
    CDCV304 200 MHz通<b class='flag-5'>用時鐘</b>緩沖器數據表

    蘋果“屏幕使用時間”相關設置失效問題仍未解決

    盡管iOS平臺的屏幕使用時間限制機制和家長監控功能頗有效果,但卻常常無法正常發揮作用。特別地,相關設置很容易自動關閉,使得直到數小時乃至數日內使用者方能覺察出其實效已失效。
    的頭像 發表于 02-02 10:52 ?1447次閱讀
    主站蜘蛛池模板: 国产日韩精品欧美一区色| 伊人电影综合网| 亚洲成电影| 69xxx视频| 国产伦精品一区二区免费| 午夜久久久久久久| 国产 麻豆 欧美亚洲综合久久| 免费看大尺度视频在线观看| 特别黄的免费视频大片| 一级在线免费视频| 新激情五月| 亚洲欧美日韩动漫| 国产亚洲精品久久久久久午夜| 97影院午夜午夜伦不卡| 我被黑人巨大开嫩苞在线观看| 手机在线观看国产精选免费| 97在线精品| bt天堂资源种子在线| 丁香五婷婷| 午夜一区二区三区| 亚洲午夜精品久久久久久成年 | 免费人成在线观看视频播放| 天天做天天玩天天爽天天| 综合网激情| www.成人av.com| 天天弄天天模| 天堂va欧美ⅴa亚洲va一国产| 久久久精品免费| 久久精品国产亚洲aa| 97视频碰碰车| 性欧美精品| 美女扒开尿口让男生添 漫画| 男人的天堂午夜| 香蕉色网| 美女教师一级毛片| 久久夜色精品国产尤物| 久久免费精品国产72精品剧情| ts国产| 黄黄的网站| 欧美性xxxx交| 一级美女片|