S3C2440輸入/輸出端口
端口控制描述(詳細(xì)見S3C2440的數(shù)據(jù)手冊(cè))
本文引用地址:http://m.butianyuan.cn/article/201611/319194.htm端口配置寄存器(GPACON至GPJCON)
端口數(shù)據(jù)寄存器(GPADAT至GPJDAT)
端口上拉寄存器(GPBUP至GPJUP)
雜項(xiàng)控制寄存器
外部中斷控制寄存器
用一個(gè)實(shí)例(LED流水燈)來學(xué)習(xí)下輸入/輸出端口
(在TQ2440開發(fā)板中 是用GPB5~8控制LED1~4)
- #include"2440addr.h"
- #defineLED1_ON(rGPBDAT&=~(1<<5))
- #defineLED1_OFF(rGPBDAT|=(1<<5))
- #defineLED2_ON(rGPBDAT&=~(1<<6))
- #defineLED2_OFF(rGPBDAT|=(1<<6))
- #defineLED3_ON(rGPBDAT&=~(1<<7))
- #defineLED3_OFF(rGPBDAT|=(1<<7))
- #defineLED4_ON(rGPBDAT&=~(1<<8))
- #defineLED4_OFF(rGPBDAT|=(1<<8))
- voidDelay(void)
- {
- inti;
- for(i=0;i<1000000;i++);
- }
- intMain()
- {
- rGPBCON&=~((3<<10)|(3<<12)|(3<<14)|(3<<16));//對(duì)GPBCON[10:17]清零
- rGPBCON|=((1<<10)|(1<<12)|(1<<14)|(1<<16));//設(shè)置GPB5~8為輸出
- rGPBUP&=~((1<<5)|(1<<6)|(1<<7)|(1<<8));//設(shè)置GPB5~8的上拉功能
- rGPBDAT|=(1<<5)|(1<<6)|(1<<7)|(1<<8);//關(guān)閉LED
- while(1)
- {
- LED1_ON;Delay();LED1_OFF;
- LED2_ON;Delay();LED2_OFF;
- LED3_ON;Delay();LED3_OFF;
- LED4_ON;Delay();LED4_OFF;
- }
- }
其中啟動(dòng)代碼那塊你需要自己加上去,
說明下2440addr.h:定義2440寄存器的地址,包括存儲(chǔ)器寄存器地址、中斷向量地址、DMA地址、時(shí)鐘電源管理寄
存器地址、LCD控制寄存器地址、Nand Flash地址、UART、PWM定時(shí)器、USB Device、WatchDog、IIC、IIS、I/O
端口、ADC、SPI、SD卡、ISR寄存器地址等。
評(píng)論