新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > cortex M3S811學習筆記-GPIO-INT

        cortex M3S811學習筆記-GPIO-INT

        作者: 時間:2012-10-11 來源:網絡 收藏

        首先是通用IO口,不管學什么單片機,IO口都是最重要和最好學的。重要是因為他是單片機與處圍器件的接口,同樣也是我們通常所說的人機接口,好學是因為它的控制容易,無非就是使能端口,設方向,然后就是寫數據或是讀數據了(根據你設的方向而定),這款超強的arm核的32位的小東西的IO口也有不同之處,畢竟是ARM核,IO的寄存器也豐富了不少。下面就來看看與IO口有關的函數。

        1.按順序來,先使能IO口。只有使能了他才能用,所以當然是第一步了。
        SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA)

        這就是使能A端口函數,即A端口可以用了,他的大門向你敞開了 。
        A端口不是在物理特征上有6個腳嗎?GPIOA就代表那6個腳。
        那么M3有多少個其它的通用IO口呢,數一數就知道。想用他就要了解好他。PA 0-5 PB 0-7 PC 0-7 PD 0-7 PE 0-2 ==========有規律不,好像有點亂,這樣看, 51里是這樣的,P0,P1,P2,P3//
        同樣這里是PA,PB,PC,PD.那PE呢,這么哪來的?因為我們的PA只有6個管腳了,所以說他把自己的兩只腳給別人了(PE1,2)。和51一樣,都是32個腳。
        這就記住了吧,PA六個腳 PE 兩個腳,PE兩個腳還可以當電機跑(因為他的第二功能是pwm4,pwm5)。

        其它的腳就不用說了,8個是電源和地,還有復位,兩個接晶振啊,LD0穩壓塊的腳啊。這一共就去了44個腳,還有四個腳就是AD接口了AD0—AD3.剛才使能了端口,端口就活了,能用了,但是那函數單詞太長,不會記。怎么辦,就搞個宏定義嘍,搞個自己認識的。
        #define DEVICEEN SysCtlPeripheralEnable
        使能設備,這樣就搞定了,

        第二步是干啥呢,你是要干嘛,最普通的,你是接按鈕(input),還是接led(output)呢?
        對就是置方向了,方向就三個.
        void GPIOPinTypeGPIOInpu (unsigned long ulPort, unsigned char ucPins)
        void GPIOPinTypeGPIOOutput (unsigned long ulPort, unsigned char ucPins)
        ulPort 是哪個端口, ucPins是哪一個或哪幾個腳
        函數名太長了,還是搞個自己熟悉的宏定義
        #define GPIOIN GPIOPinTypeGPIOInpu
        #define GPIOOUT GPIOPinTypeGPIOOutput
        現在就舉個例:把PA的第0腳設為輸出,第二腳設為輸入。

        GPIOOUT( GPIO_PORTA_BASE, GPIO_PIN_0)
        GPIOIN ( GPIO_PORTA_BASE, GPIO_PIN_2)

        當然我還是認為GPIO_PORTA_BASE, GPIO_PIN_2這些東西太長了,
        畢竟是要經常打交道的東西,我再搞個宏定義:
        #define PA GPIO_PORTA_BASE
        #define PIN2 GPIO_PIN_2

        那上面的語句就變成了,GPIOIN(PA,PIN2);
        感覺清爽了不少( 注意:自己定義的宏自己一定要記得)


        第三步,方向也設了,那就剩讀數,寫數了。
        void GPIOPinWrite(unsigned long ulPort, unsigned char ucPins, unsigned char ucVal);
        long GPIOPinRead(unsigned long ulPort, unsigned char ucPins)

        接著宏定義:
        #define WRITE GPIOPinWrite
        #define READ GPIOPinRead

        現在就可以點燈了,如果你的PA0接了一個led,(陰極接地)
        只需要此語句就能將它點亮:WRITE(PA,PIN0,1);



        關鍵詞: cortex M3S811 GPIO-INT

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 聂拉木县| 广河县| 新巴尔虎左旗| 秦安县| 广灵县| 龙门县| 陇西县| 安多县| 漳浦县| 新野县| 竹北市| 双鸭山市| 来宾市| 普格县| 华亭县| 晋中市| 忻州市| 喀喇沁旗| 邹城市| 开封县| 土默特左旗| 云浮市| 江陵县| 张家港市| 洮南市| 萨迦县| 澄迈县| 定南县| 麻栗坡县| 福贡县| 芮城县| 桐柏县| 都兰县| 平定县| 宁强县| 海伦市| 明光市| 万载县| 邓州市| 吉首市| 冕宁县|