S3C2440输入/输出端口

来源:互联网 发布:4g网络制式有哪些 编辑:程序博客网 时间:2024/06/01 13:06

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

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

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

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

杂项控制寄存器

外部中断控制寄存器

 

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

(在TQ2440开发板中 是用GPB5~8控制LED1~4)

#include "2440addr.h"#define  LED1_ON(rGPBDAT &=~(1<<5))#define  LED1_OFF(rGPBDAT |=(1<<5) )#define  LED2_ON(rGPBDAT &=~(1<<6))#define  LED2_OFF(rGPBDAT |=(1<<6))#define  LED3_ON(rGPBDAT &=~(1<<7))#define  LED3_OFF(rGPBDAT |=(1<<7))#define  LED4_ON(rGPBDAT &=~(1<<8))#define  LED4_OFF(rGPBDAT |=(1<<8))void Delay(void){int i;for(i=0;i<1000000;i++);}int Main(){rGPBCON &=~((3<<10)|(3<<12)|(3<<14)|(3<<16));//对GPBCON[10:17]清零rGPBCON |=((1<<10)|(1<<12)|(1<<14)|(1<<16));//设置GPB5~8为输出rGPBUP &=~((1<<5)|(1<<6)|(1<<7)|(1<<8));//设置GPB5~8的上拉功能rGPBDAT |=(1<<5)|(1<<6)|(1<<7)|(1<<8);//关闭LEDwhile(1){LED1_ON;Delay();LED1_OFF;LED2_ON;Delay();LED2_OFF;LED3_ON;Delay();LED3_OFF;LED4_ON;Delay();LED4_OFF;}}


其中启动代码那块你需要自己加上去,

说明下2440addr.h:定义2440寄存器的地址,包括存储器寄存器地址、中断向量地址、DMA地址、时钟电源管理寄

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

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

 

 

 

原创粉丝点击