新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > S3C2440輸入/輸出端口

S3C2440輸入/輸出端口

作者: 時間:2016-11-21 來源:網(wǎng)絡 收藏

端口控制描述(詳細見S3C2440的數(shù)據(jù)手冊)

本文引用地址:http://www.2s4d.com/article/201611/319194.htm

端口配置寄存器(GPACON至GPJCON)

端口數(shù)據(jù)寄存器(GPADAT至GPJDAT)

端口上拉寄存器(GPBUP至GPJUP)

雜項控制寄存器

外部中斷控制寄存器

用一個實例(LED流水燈)來學習下輸入/輸出端口

(在TQ2440開發(fā)板中 是用GPB5~8控制LED1~4)

  1. #include"2440addr.h"
  2. #defineLED1_ON(rGPBDAT&=~(1<<5))
  3. #defineLED1_OFF(rGPBDAT|=(1<<5))
  4. #defineLED2_ON(rGPBDAT&=~(1<<6))
  5. #defineLED2_OFF(rGPBDAT|=(1<<6))
  6. #defineLED3_ON(rGPBDAT&=~(1<<7))
  7. #defineLED3_OFF(rGPBDAT|=(1<<7))
  8. #defineLED4_ON(rGPBDAT&=~(1<<8))
  9. #defineLED4_OFF(rGPBDAT|=(1<<8))
  10. voidDelay(void)
  11. {
  12. inti;
  13. for(i=0;i<1000000;i++);
  14. }
  15. intMain()
  16. {
  17. rGPBCON&=~((3<<10)|(3<<12)|(3<<14)|(3<<16));//對GPBCON[10:17]清零
  18. rGPBCON|=((1<<10)|(1<<12)|(1<<14)|(1<<16));//設置GPB5~8為輸出
  19. rGPBUP&=~((1<<5)|(1<<6)|(1<<7)|(1<<8));//設置GPB5~8的上拉功能
  20. rGPBDAT|=(1<<5)|(1<<6)|(1<<7)|(1<<8);//關閉LED
  21. while(1)
  22. {
  23. LED1_ON;Delay();LED1_OFF;
  24. LED2_ON;Delay();LED2_OFF;
  25. LED3_ON;Delay();LED3_OFF;
  26. LED4_ON;Delay();LED4_OFF;
  27. }
  28. }


其中啟動代碼那塊你需要自己加上去,

說明下2440addr.h:定義2440寄存器的地址,包括存儲器寄存器地址、中斷向量地址、DMA地址、時鐘電源管理

存器地址、LCD控制寄存器地址、Nand Flash地址、UART、PWM定時器、USB Device、WatchDog、IIC、IIS、I/O

端口、ADC、SPI、SD卡、ISR寄存器地址等。



評論


技術專區(qū)

關閉