微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > S3C2440输入/输出端口

S3C2440输入/输出端口

时间:11-21 来源:互联网 点击:

端口控制描述(详细见S3C2440的数据手册)

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

端口数据寄存器(GPADAT至GPJDAT)

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

杂项控制寄存器

外部中断控制寄存器

用一个实例(LED流水灯)来学习下输入/输出端口

(在TQ2440开发板中 是用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寄存器地址等。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top