先問自己一個問題:STM32中,USART2和TIM2是共用相同IO的,你如何決定這幾個IO到底是做USART2還是做TIM2呢?如果你要同時使用USART2和TIM2,該怎么辦?
1、不是說使用了IO的復用功能就一定要啟動RCC_APB2Periph_AFIO的Clock的,參考下圖
只有使用了AFIO的事件控制寄存器、AFIO的重映射功能以及外部中斷(EXTI)控制寄存器才需要開啟AFIO的時鐘,STM32參考手冊從來沒說過使用IO的復用功能就一定要開啟AFIO時鐘,這是個誤區。
例如下面的,最常用的USART1,如果你的板子上,默認用的就是PA9和PA10這兩個IO作為USART1的TX和TX,那么也就是沒有重映射,No Remap,這種情況下根本不需要開啟AFIO時鐘,只要開啟USART1的外設時鐘就行了。這個實驗很簡單,自己試試就知道了。
2、從上面的圖你可以看到,原來USART1是可以放在PB6和PB7上面的,只不過幾乎所有的原理圖封裝中都不會在PB6和PB7的復用功能上標出它可以當USART1用,畢竟這種重映射的情況太多,幾乎所有外設都可以重映射,每個都標出來會非?;靵y。
STM32中,USART2的CTS、RTS、TX、RX和TIM2的CH1~CH4都在PA0~PA3上面,具體要如何選擇這兩個功能呢?
如果要使用USART2,就開始USART2的外設時鐘,如果要使用TIM2,就開啟TIM2的外設時鐘,如果你同時開啟,我也不知道會怎么樣,你可以自己試試,我覺得應該是兩個都不能用。如果你一定要在PA0~PA3上使用這兩個功能,只能是時分復用。
正確的同時使用USART2和TIM2,應該是使用上面提到的AFIO_Remap寄存器,將其中的一個重映射到其他IO上去,當然這樣其他IO的本身的復用功能你就不能開啟了。
回到前面的問題,如果你不做Remap,你根本不可能同時在PA0~PA3上同時使用這兩個外設,現在你的方案有兩種:
一、保留USART2在PA口上,將TIM2完全重映射(Full Remap)到其他IO上,或者,如果你不用RTS和CTS的硬件流控制,PA0(CTS)和PA1(RTS)上對應的CH1和CH2是可以不用重映射的,只需要將Bit9:8改成10,也就是將CH3和CH4部分重映射到PB10和PB11上去,而CH1和CH2繼續保留在PA0和PA1上。但這種情況下,PB10和PB11上的I2C2和USART3就不能用了。
二、保留TIM2在PA口,將USART2重映射到PD口上,很明顯,當TIM2完全不重映射時,USART2必須的信號線只有Clock不受影響,這種情況下也沒有部分映射可言了,必須將USART2完全重映射到PD3~PD7上,同樣的,這種情況下FSMC就不能用了。
上一篇:STM32的CAN總線中繼器設計及應用
下一篇:基于3G/4G多旋翼飛行器的視頻傳輸系統
推薦閱讀
史海拾趣
收購后,Blue Giga在芬蘭埃斯波的研發中心繼續發揮其技術創新的優勢,不斷推出新產品和解決方案。同時,借助Silicon Labs的全球銷售網絡,Blue Giga的產品開始進入更多國家和地區的市場。公司的業務范圍不斷擴大,應用領域也更加廣泛,涵蓋了工業自動化、消費類電子產品、汽車等多個領域。
這五個故事描繪了Blue Giga從創立到發展的過程,展示了其在電子行業中的努力和成就。雖然每個故事都基于事實,但具體細節可能因缺乏詳細資料而有所簡化或推測。如需更深入的了解,建議查閱Blue Giga的官方資料或相關新聞報道。
Cellergy公司一直注重創新研發,不斷推出新產品以滿足市場需求。在一次重要的科技展覽會上,Cellergy公司展示了一款全新的超級電容器。這款電容器采用了先進的材料和工藝,具有更高的能量密度和更長的使用壽命。這一創新產品引起了廣泛關注,為Cellergy公司贏得了眾多客戶的青睞。
近年來,隨著國家對電子信息和無人機行業的政策支持力度不斷加大,FlyWin集團迎來了快速發展的機遇。公司充分利用政策紅利,加大在技術創新、市場拓展和人才培養等方面的投入。同時,公司還積極參與地方政府組織的各類科技創新活動和產業論壇,與同行企業、科研機構及政府部門建立了良好的合作關系。在多方努力下,FlyWin集團的業務規模不斷擴大,品牌影響力顯著提升,成為了電子行業中一顆璀璨的新星。
為了降低生產成本、提高生產效率,Connector City公司開始實施產業鏈整合戰略。公司與上游原材料供應商和下游客戶建立了緊密的合作關系,實現了供應鏈的優化和協同發展。通過整合產業鏈資源,公司不僅降低了采購成本和市場風險,還提高了產品質量和交貨速度,進一步增強了市場競爭力。
在取得初步成功的基礎上,Array Microsystems Inc深知技術創新是企業持續發展的核心動力。因此,公司加大了對研發的投入力度,不斷推出新的陣列傳感器產品和技術。這些新產品不僅具有更高的性能和更低的成本,還滿足了市場不斷變化的需求。通過持續的創新和研發,Array Microsystems Inc在電子行業中保持了領先地位。
在DSP的電機控制中,經常要用到方波輸出,就是常說的PWM,PTO。一般的控制方式采用的是使用2812的EV單元去產生對稱波形。但是在現代的一些控制領域,特別是位置控制領域,經常要實現開環控制脈沖個數,并產生多種頻率的脈沖輸出。EV是很難實現的。 ...… 查看全部問答∨ |
LDO LDO是low dropout regulator,意為低壓差線性穩壓器,是相對于傳統的線性穩壓器來說的。傳統的線性穩壓器,如78xx系列的芯片都要求輸入電壓要比輸出電壓高出2v~3V以上,否則就不能正常工作。但是在一些情況下,這樣的條件顯然是太苛刻了,如 ...… 查看全部問答∨ |
菜鳥才接觸89c51,寫的如下代碼,但是中斷不響應,我在INT0輸入的是方波信號,還有這塊是16位尋址哈 也就是unsigned int 型最大值是65536哈,我想是讓int0為高電平時,計數器開始計數,當int0下一個高電平到來 之后計數器重新計數,一直這樣循環 ...… 查看全部問答∨ |
|
下面這個框圖是UC2843芯片的內部框圖,現在想請教的是反饋電壓、反饋電流和輸出占空比的計算公式,手冊上都沒有介紹這個計算關系到底是什么樣子的。謝謝!… 查看全部問答∨ |
|
曬WEBENCH設計的過程+Arria系列10AT090電源驅動電路設計 需求:輸入,14到22V 輸出: # Name VLoad ILoad Description 1. LOAD #1 3.3 V 0.5 A VoutRipple=10% 2. LOAD #2 5 V 0.5 A VoutRipple=10% 3. VCC 0.9 V 41.304 A VoutRipple=10% 4. VCCA_PLL 1.8 V ...… 查看全部問答∨ |
使用該芯片編寫串口接收,可進行串口掃描接收,無法進入中斷接收!請高手幫忙。程序配置如下: void USART1_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef ...… 查看全部問答∨ |