在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM8L探索套件學(xué)習(xí)筆記-GPIO端口操作(一)

            STM8L探索套件學(xué)習(xí)筆記-GPIO端口操作(一)

            作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
            STM8與STM32一樣提供了固件庫函數(shù),方便用戶快速開發(fā),不需要花費很多時間去查寄存器。不過沒有STM32的庫完善,給的說明文檔是chm格式的,名字是stm8l15x_stdperiph_lib_um.chm,這個官網(wǎng)有下載,今天按照官方給的模板自己做個模板文件夾,方便后期的移植,這樣就不要再重復(fù)設(shè)置了。首先我們看看GPIO模塊,在用固件庫之前先了解下GPIO里面的大體的寄存器,方便后期使用固件庫。缺點是你所以輸入的參數(shù)都會檢測是否符合規(guī)范,必須得按照庫函數(shù)里面定義的參數(shù)寫。
            GPIO寄存器有:輸出寄存器(ODR),輸入寄存器(IDR),方向寄存器(DDR),控制寄存器1(CR1)和控制寄存器2(CR2).后面三個寄存器組和可以配置為8種GPIO的模式,如下圖:


            而固件庫函數(shù)給出了8中模式,在上面的基礎(chǔ)上加入了輸出高/輸出低電平的狀態(tài)。

            GPIO_Mode_In_FL_No_IT浮空輸入無中斷Input floating, no external interrupt
            GPIO_Mode_In_PU_No_I上拉輸入無中斷Input pull-up, no external interrupt
            GPIO_Mode_In_FL_IT浮空輸入有中斷Input floating, external interrupt
            GPIO_Mode_In_PU_IT上拉輸入有中斷Input pull-up, external interrupt
            GPIO_Mode_Out_OD_Low_Fast
            開漏-輸出低-高速
            Output open-drain, low level, 10MHz
            GPIO_Mode_Out_PP_Low_Fast
            推挽-輸出低-高速
            Output push-pull, low level, 10MHz
            GPIO_Mode_Out_OD_Low_Slow
            開漏-輸出低-低速
            Output open-drain, low level, 2MHz
            GPIO_Mode_Out_PP_Low_Slow
            推挽-輸出低-低速
            Output push-pull, low level, 2MHz
            GPIO_Mode_Out_OD_HiZ_Fast
            開漏-輸出高阻-高速
            Output open-drain, high-impedance level, 10MHz
            GPIO_Mode_Out_PP_High_Fast
            推挽-輸出高-高速
            Output push-pull, high level, 10MHz
            GPIO_Mode_Out_OD_HiZ_Slow
            開漏-輸出高阻-低速
            Output open-drain, high-impedance level, 2MHz
            GPIO_Mode_Out_PP_High_Slow
            推挽-輸出高-低速
            Output push-pull, high level, 2MHz
            其他的一些函數(shù)可以參考固件庫:

            下面是GPIO操作的應(yīng)用,GPIO寫操作---板上的兩個LED燈閃爍的代碼
            void main(void)
            {
            /* Infinite loop */
            GPIO_Init(LED1_PORT, LED1_PIN, GPIO_Mode_Out_PP_Low_Fast);
            GPIO_Init(LED2_PORT, LED2_PIN, GPIO_Mode_Out_PP_Low_Fast);
            while (1)
            {
            GPIO_ToggleBits(LED1_PORT, LED1_PIN);
            Delay(0xFFFF);
            GPIO_ToggleBits(LED2_PORT, LED2_PIN);
            Delay(0xFFFF);

            }
            }
            GPIO讀操作---查詢按鍵點亮LED
            void main(void)
            {
            /* Infinite loop */
            GPIO_Init(LED1_PORT,LED1_PIN,GPIO_Mode_Out_PP_Low_Fast);
            //輸出低電平-高速10M
            GPIO_Init(KEY_PORT,KEY_PIN,GPIO_Mode_In_FL_No_IT);
            //輸入浮空-無中斷
            while (1)
            {
            if(GPIO_ReadInputDataBit(KEY_PORT,KEY_PIN))
            GPIO_WriteBit(LED1_PORT,LED1_PIN,RESET);
            else
            GPIO_WriteBit(LED1_PORT,LED1_PIN,SET);
            }
            }


            評論


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

            關(guān)閉