在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32管教復(fù)用與重映射關(guān)系

            STM32管教復(fù)用與重映射關(guān)系

            作者: 時(shí)間:2018-08-07 來(lái)源:網(wǎng)絡(luò) 收藏

            概括一下:復(fù)用就是一個(gè)引腳有幾個(gè)功能,1.做普通IO輸入輸出  2.其他外設(shè)的輸入輸出(比如I2C,TIM,SPI等等),這就是復(fù)用。

            本文引用地址:http://www.biyoush.com/article/201808/385578.htm

            就是將引腳功能重新定義到其他引腳,例如PA9是USART1-TX默認(rèn)的管腳,但是現(xiàn)在PA9用做它用了,那可以將USART1-TX重新映射到PB6,當(dāng)然這種映射不是隨意的想映射到哪個(gè)腳就哪個(gè)腳,芯片內(nèi)部已經(jīng)固定了只能映射到固定的地方

            MCU復(fù)位后PA8的默認(rèn)功能是普通IO管腳,我想將它設(shè)為T(mén)IM1的PWM-CH1復(fù)用輸出,如下圖,通過(guò)設(shè)置TIM_REMAP[1:0]寄存器,可以實(shí)現(xiàn)(沒(méi)有)(部分)(完全重映射)三種映射。

            1 void TIM1_PWM_Init(u16 arr,u16 psc)

            2 {

            3 //

            4 RCC->APB2ENR=111; //開(kāi)啟TIM1定時(shí)器

            5 GPIOA->CRH=0XFFFFFFF0; //清除PA8

            6 GPIOA->CRH|=0X0000000B; //設(shè)置PA8為頻率最大50MHZ復(fù)用推完輸出模式

            7

            8 TIM1->ARR=arr; //設(shè)置計(jì)數(shù)器自動(dòng)重裝值

            9 TIM1->PSC=psc; //預(yù)分頻器設(shè)置

            10

            11 TIM1->CCMR1|=74; //CH1 PWM2模式

            12 TIM1->CCMR1|=13; //CH1預(yù)裝載使能

            13 TIM1->CCER|=10; //OC1輸出使能

            14 TIM1->BDTR|=115; //MOE主輸出使能

            15

            16 TIM1->CR1=0x0080; //ARPE使能

            17 TIM1->CR1|=0x01; //使能定時(shí)器1

            18 }

            那如果我PA8已經(jīng)用作其他了。想將其重映射咋辦,看如下圖

            1 //TIM1_CH1 PWM復(fù)用重映射輸出

            2 void TIM1_PWM_Init(u16 arr,u16 psc)

            3 {

            4 RCC->APB2ENR=111; //TIM1時(shí)鐘使能

            5 RCC->APB2ENR|=16;//開(kāi)啟PE時(shí)鐘(開(kāi)啟待重映射管腳的時(shí)鐘)

            6 RCC->APB2ENR|=10;//開(kāi)啟AFIO時(shí)鐘

            7

            8 GPIOE->CRH=0XFFFFFF0F; //PE9清除,待重映射引腳

            9 GPIOE->CRH|=0X000000B0; //PE9設(shè)置成復(fù)用推完輸出最大50MHZ

            10 AFIO->MAPR=0XFFFFFF3F; //TIM1_REMAP端口清除

            11 AFIO->MAPR|=0X000000C0; //TIM1_REMAP端口復(fù)用重映射功能開(kāi)啟

            12

            13 TIM1->ARR=arr; //重裝載值

            14 TIM1->PSC=psc; //預(yù)分頻器值

            15

            16 TIM1->CCMR1|=74; //CH1 PWM2模式

            17 TIM1->CCMR1|=13; //CH1預(yù)裝載使能

            18 TIM1->CCER|=10; //OC1 輸出使能

            19 TIM1->BDTR|=115; //MOE主輸出使能

            20

            21 TIM1->CR1=0x0080; //ARPE使能

            22 TIM1->CR1|=0x01; //使能定時(shí)器1

            23 }

            按照上圖 只有兩種映射 部分映射和完全映射 如果是部分映射 改變的是BKIN,CH1N,CH2N,CH3N這幾個(gè)腳而已,所以應(yīng)該選完全映射 就可以將TIM1的PWM-CH1重映射到PE9這個(gè)腳去。

            關(guān)于這個(gè)問(wèn)題,我的理解是:例如上圖,假如說(shuō) 連CH2 CH3 CH4也以前用了的話 那就沒(méi)辦法了 都會(huì)一起被重新映射走了,也就說(shuō)CH2=PE11 CH3=PE13 CH4 =PE14沒(méi)辦法只做到只映射了一個(gè)過(guò)來(lái)而已。

            那如果說(shuō)只使用了CH1的話 那就不會(huì)有影響 PE11 PE13 PE14照樣當(dāng)做普通IO使用不用將這幾個(gè)管腳的復(fù)用功能打開(kāi)就可以了 。

            『本文轉(zhuǎn)載自網(wǎng)絡(luò),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系刪除』

            • 單片機(jī)中文官網(wǎng)
            • 單片機(jī)官方開(kāi)發(fā)工具
            • 單片機(jī)參考設(shè)計(jì)


            關(guān)鍵詞: STM32 管腳復(fù)用 重映射

            評(píng)論


            相關(guān)推薦

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

            關(guān)閉