色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32的復(fù)用時(shí)鐘的開啟時(shí)間

汽車玩家 ? 來源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2020-04-04 17:22 ? 次閱讀

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

什么是復(fù)用?

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

STM32的復(fù)用時(shí)鐘的開啟時(shí)間

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

例子:串口1為例

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

STM32的復(fù)用時(shí)鐘的開啟時(shí)間

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

STM32的復(fù)用時(shí)鐘的開啟時(shí)間

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

我們回顧一下,我們?yōu)槭裁匆_啟時(shí)鐘呢?因?yàn)槲覀円獙?a href="http://www.1cnz.cn/v/tag/137/" target="_blank">芯片內(nèi)部的硬件進(jìn)行控制(讀寫其寄存器),要控制哪一部分,就要開啟那一部分的時(shí)鐘。

本例中,使能GPIOA、USART1的時(shí)鐘是因?yàn)槲覀円獙PIOA、USART1相關(guān)的寄存器進(jìn)行操作。那么AFIO呢?其管理的寄存器有哪些呢?從參考手冊關(guān)于通用和復(fù)用功能I/O(GPIO和AFIO)這一章節(jié)可以看到AFIO管理的寄存器如下:

STM32的復(fù)用時(shí)鐘的開啟時(shí)間

可以知道,本例對USART1進(jìn)行配置,并沒有涉及到AFIO相關(guān)的寄存器,所以并不需要打開AFIO時(shí)鐘!

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

何時(shí)開啟AFIO時(shí)鐘?

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

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

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

STM32的復(fù)用時(shí)鐘的開啟時(shí)間

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

STM32的復(fù)用時(shí)鐘的開啟時(shí)間

這里得調(diào)用一個(gè)重映射配置函數(shù)GPIO_PinRemapConfig,可在這個(gè)函數(shù)在stm32f10x_gpio.c中,如下:

STM32的復(fù)用時(shí)鐘的開啟時(shí)間

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

STM32的復(fù)用時(shí)鐘的開啟時(shí)間

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

STM32的復(fù)用時(shí)鐘的開啟時(shí)間

我們從GPIO_PinRemapConfig函數(shù)的實(shí)現(xiàn)中可以看到我們需要操控AFIO_MAPR寄存器,所以需要開啟AFIO時(shí)鐘。

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10896

    瀏覽量

    355768
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1551

    瀏覽量

    76440
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1204

    瀏覽量

    52059
收藏 人收藏

    評論

    相關(guān)推薦

    北斗衛(wèi)星同步時(shí)鐘系統(tǒng):精準(zhǔn)時(shí)間的秘密

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

    STM32的HAL庫如何開啟FPU?

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

    STM32如何確定ADC的時(shí)鐘頻率?

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

    求助,為什么STM32要設(shè)置時(shí)鐘開關(guān)?

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

    stm32定時(shí)器在初始化參數(shù)之前是否必須開啟對應(yīng)時(shí)鐘

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

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

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

    請問STM32f103使用PB14做外部中斷為什么要開啟復(fù)用時(shí)鐘才能用?

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

    如何減少STM32F103 ADC采集時(shí)間

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

    有關(guān)stm32f103端口復(fù)用的幾個(gè)問題求解

    在學(xué)習(xí)GPIO時(shí),遇到到端口復(fù)用問題一直不能明白,我舉個(gè)例子: PB6 PB7默認(rèn)情況下是做普通IO使用的,當(dāng)我想用I2C1是,我開啟RCC_APB1PeriphClockCmd
    發(fā)表于 04-07 07:32

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

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

    使用STM32H743-ADC設(shè)置PLL2為時(shí)鐘源為什么開啟不了?

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

    CDCV304 200 MHz通用時(shí)鐘緩沖器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《CDCV304 200 MHz通用時(shí)鐘緩沖器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 02-28 13:55 ?0次下載
    CDCV304 200 MHz通<b class='flag-5'>用時(shí)鐘</b>緩沖器數(shù)據(jù)表

    什么是時(shí)分復(fù)用TDM?時(shí)分復(fù)用類型 時(shí)分復(fù)用優(yōu)劣勢

    什么是時(shí)分復(fù)用TDM?時(shí)分復(fù)用類型 時(shí)分復(fù)用優(yōu)劣勢? 時(shí)分復(fù)用TDM是一種常見的多路復(fù)用技術(shù),用于將多個(gè)低速信號(hào)合并成一個(gè)高速信號(hào)在傳輸線路
    的頭像 發(fā)表于 01-16 16:03 ?2699次閱讀

    網(wǎng)絡(luò)時(shí)鐘同步有哪些要求?如何在5G網(wǎng)絡(luò)中測試時(shí)間時(shí)鐘同步?

    網(wǎng)絡(luò)時(shí)鐘同步有哪些要求?要注意哪些問題?如何在5G網(wǎng)絡(luò)中測試時(shí)間時(shí)鐘同步? 網(wǎng)絡(luò)時(shí)鐘同步是指在計(jì)算機(jī)網(wǎng)絡(luò)中,各個(gè)時(shí)鐘節(jié)點(diǎn)之間通過協(xié)議和算法
    的頭像 發(fā)表于 01-16 16:03 ?1375次閱讀

    時(shí)控開關(guān)怎么調(diào)時(shí)間

    如何調(diào)節(jié)時(shí)控開關(guān)時(shí)間的詳細(xì)步驟和說明。 了解時(shí)控開關(guān)的基本原理 時(shí)控開關(guān)通常由機(jī)械或電子元件組成。機(jī)械時(shí)控開關(guān)利用時(shí)鐘齒輪和機(jī)械裝置來進(jìn)行時(shí)間設(shè)置,而電子時(shí)控開關(guān)則通過電子元器件,如微處理器或集成電路來實(shí)現(xiàn)時(shí)
    的頭像 發(fā)表于 01-10 15:41 ?1942次閱讀
    主站蜘蛛池模板: 午夜性伦鲁啊鲁免费视频| 67194con免费福和视频| xnxx18美女| 九九免费高清在线观看视频| 色哟哟tv| PORN白嫩内射合集| 久久无码av三级| 亚洲精品国产高清不卡在线| 成年人视频在线免费| 亚洲中文字幕乱倫在线| 第七色 夜夜撸| 蜜桃最新网址| 一二三四在线视频社区| 国产精品国产三级国AV在线观看| 欧美激情视频二区| 中文乱码35页在线观看| 黄色三级视频网站| 午夜向日葵视频在线观看| 冈本视频黄页正版| 欧美另类与牲交ZOZOZO| 1000部做羞羞事禁片免费视频网站| 狠狠色狠狠色综合| 午夜福利免费院| 国产高清视频在线观看97| 肉肉高潮液体高干文H| vivoe另类| 男生插女生下体| 在线一本码道高清| 久久高清免费视频| 亚洲精品永久免费| 国产亚洲免费观看| 香蕉尹人综合精品| 国产精品久久久久久久久久久 | 伦理片2499电影伦理片| 亚洲欧洲日韩天堂无吗| 国产美女影院| 午夜免费小视频| 国产精品高清m3u8在线播放| 色欲国产麻豆一精品一AV一免费| 成人免费精品视频| 人人澡人人擦人人免费|