在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            STM32之AFIO

            作者: 時(shí)間:2016-12-03 來(lái)源:網(wǎng)絡(luò) 收藏
            也許你以為IO和AFIO是很簡(jiǎn)單的,事實(shí)上有幾個(gè)誤區(qū)可能很多人都沒(méi)注意過(guò),當(dāng)你只用現(xiàn)成的開(kāi)發(fā)板來(lái)學(xué)習(xí)的時(shí)候,別人已經(jīng)幫你做好了資源分配,所有的外設(shè)功能學(xué)習(xí)都是照著別人給你的例程去做的,這才沒(méi)讓你覺(jué)得奇怪。

            先問(wèn)自己一個(gè)問(wèn)題:STM32中,USART2和TIM2是共用相同IO的,你如何決定這幾個(gè)IO到底是做USART2還是做TIM2呢?如果你要同時(shí)使用USART2和TIM2,該怎么辦?

            本文引用地址:http://www.biyoush.com/article/201612/325159.htm

            1、不是說(shuō)使用了IO的復(fù)用功能就一定要啟動(dòng)RCC_APB2Periph_AFIO的Clock的,參考下圖

            只有使用了AFIO的事件控制寄存器、AFIO的重映射功能以及外部中斷(EXTI)控制寄存器才需要開(kāi)啟AFIO的時(shí)鐘,STM32參考手冊(cè)從來(lái)沒(méi)說(shuō)過(guò)使用IO的復(fù)用功能就一定要開(kāi)啟AFIO時(shí)鐘,這是個(gè)誤區(qū)。

            例如下面的,最常用的USART1,如果你的板子上,默認(rèn)用的就是PA9和PA10這兩個(gè)IO作為USART1的TX和TX,那么也就是沒(méi)有重映射,No Remap,這種情況下根本不需要開(kāi)啟AFIO時(shí)鐘,只要開(kāi)啟USART1的外設(shè)時(shí)鐘就行了。這個(gè)實(shí)驗(yàn)很簡(jiǎn)單,自己試試就知道了。

            2、從上面的圖你可以看到,原來(lái)USART1是可以放在PB6和PB7上面的,只不過(guò)幾乎所有的原理圖封裝中都不會(huì)在PB6和PB7的復(fù)用功能上標(biāo)出它可以當(dāng)USART1用,畢竟這種重映射的情況太多,幾乎所有外設(shè)都可以重映射,每個(gè)都標(biāo)出來(lái)會(huì)非?;靵y。

            STM32中,USART2的CTS、RTS、TX、RX和TIM2的CH1~CH4都在PA0~PA3上面,具體要如何選擇這兩個(gè)功能呢?

            如果要使用USART2,就開(kāi)始USART2的外設(shè)時(shí)鐘,如果要使用TIM2,就開(kāi)啟TIM2的外設(shè)時(shí)鐘,如果你同時(shí)開(kāi)啟,我也不知道會(huì)怎么樣,你可以自己試試,我覺(jué)得應(yīng)該是兩個(gè)都不能用。如果你一定要在PA0~PA3上使用這兩個(gè)功能,只能是時(shí)分復(fù)用。

            正確的同時(shí)使用USART2和TIM2,應(yīng)該是使用上面提到的AFIO_Remap寄存器,將其中的一個(gè)重映射到其他IO上去,當(dāng)然這樣其他IO的本身的復(fù)用功能你就不能開(kāi)啟了。

            回到前面的問(wèn)題,如果你不做Remap,你根本不可能同時(shí)在PA0~PA3上同時(shí)使用這兩個(gè)外設(shè),現(xiàn)在你的方案有兩種:

            一、保留USART2在PA口上,將TIM2完全重映射(Full Remap)到其他IO上,或者,如果你不用RTS和CTS的硬件流控制,PA0(CTS)和PA1(RTS)上對(duì)應(yīng)的CH1和CH2是可以不用重映射的,只需要將Bit9:8改成10,也就是將CH3和CH4部分重映射到PB10和PB11上去,而CH1和CH2繼續(xù)保留在PA0和PA1上。但這種情況下,PB10和PB11上的I2C2和USART3就不能用了。

            二、保留TIM2在PA口,將USART2重映射到PD口上,很明顯,當(dāng)TIM2完全不重映射時(shí),USART2必須的信號(hào)線只有Clock不受影響,這種情況下也沒(méi)有部分映射可言了,必須將USART2完全重映射到PD3~PD7上,同樣的,這種情況下FSMC就不能用了。



            關(guān)鍵詞: STM32AFI

            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉