色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > stm8s開發(fā)(二) GPIO的使用:點亮LED!

          stm8s開發(fā)(二) GPIO的使用:點亮LED!

          作者: 時間:2017-09-13 來源:網(wǎng)絡(luò) 收藏

            通用輸入輸出口()是我們使用單片機最基本的,主要功能:

          本文引用地址:http://cafeforensic.com/article/201709/364242.htm

            ● 端口的各個位可以被單獨配置

            ● 可選擇的輸入模式:浮動輸入和帶上拉輸入

            ● 可選擇的輸出模式:推挽式輸出和開漏輸出

            ● 外部中斷可以單獨使能和關(guān)閉

            用戶手冊上描述:

            每一個端口都有一個輸出數(shù)據(jù)寄存器(ODR),一個引腳輸入寄存器(IDR)和一個數(shù)據(jù)方向寄存器(DDR) 總是同相關(guān)的??刂萍拇嫫?(CR1)和控制寄存器2(CR2)用于對輸入/輸出進行配置。任何一個I/O引腳可以通過對DDR,ODR,CR1和CR2寄存器的相應(yīng)位進行編程來配置。

            各種不同配置總結(jié)如下:

            配置模式DDRCR1CR2配置模式上拉電阻

            輸入000懸浮輸入 OFF

            010上拉輸入ON

            001中斷懸浮輸入 OFF

            011中斷上拉輸入ON

            輸出100開漏輸出 OFF

            110推挽輸出

            1x1輸出(最快速度10MHZ)

            xxx真正的開漏輸出未采用

            這里作為練習控制3個LED,分別是PA1,PA2,PD4,都設(shè)置為 推挽輸出 模式。

            以下是初始化函數(shù):

            //CTRL0 PA1

            //CTRL1 PA2

            //CTRL2 PD4

            void _init(void)

            {

            PA_DDR|=0x03;

            PA_CR1|=0x03;

            PA_CR2|=0x00;

            PD_DDR|=0x10;

            PD_CR1|=0x10;

            PD_CR2|=0x00;

            }

            需要控制IO口的電平,需要對于ODR寄存器進行修改,讀表可得知1為高電平,0為低電平。

            這里只需要對相應(yīng)的位進行修改數(shù)值。

            void CTRL0_HIGH(void)

            {

            PA_ODR|=0x01;

            }

            void CTRL0_LOW(void)

            {

            PA_ODR&=0xFE;

            }

            void CTRL0_Reverse(void)

            {

            PA_ODR^=0x01;

            }

            附上在IAR環(huán)境下的項目工程,包括了SPI、IIC、PWM、AWU、USART、EEPROM等片上硬件的初始化代碼。

            http://download.csdn.net/detail/devintt/9454188



          關(guān)鍵詞: stm8s GPIO

          評論


          相關(guān)推薦

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

          關(guān)閉