当前位置: 代码迷 >> 驱动开发 >> 芯片S3C2440A的有关问题
  详细解决方案

芯片S3C2440A的有关问题

热度:57   发布时间:2016-04-28 11:06:47.0
芯片S3C2440A的问题
端口初始化
//**** PORT B GROUP
  //Ports : GPB10 GPB9 GPB8 GPB7 GPB6 GPB5 GPB4 GPB3 GPB2 GPB1 GPB0
  //Signal : nXDREQ0 nXDACK0 nXDREQ1 nXDACK1 nSS_KBD nDIS_OFF L3CLOCK L3DATA L3MODE nIrDATXDEN Keyboard
  //Setting: OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT 
  //Binary : 01 , 01 01 , 01 01 , 01 01 , 01 01 , 01 01  
  rGPBCON = 0x155555;
  rGPBUP = 0x7ff; // The pull up function is disabled GPB[10:0]
main函数
 rGPBCON = 0x155555;
   
   
  data = 0x06;
  while(1)
  {
 
  rGPBDAT = (data<<5);
  dely(120);
  data =~data;
}
   
 GPBCON是用来设置端口的输入输出 GPBDAT是用来输出值的 L3端口对应nXDACK0 连接在con5上 con5是系统总线 不明白L3CLOCK L3DATA L3MODE nXDACK0是用来干什么的 手册里没有为什么一个端口还配备其他端口输出数据什么的

------解决方案--------------------
S3C2440A 的PORT B有11个IO PIN,分别记为GPB0,GPB1,.....GPB10
每一个PIN使用GPBCON寄存器的两位来配置。
如GPB0:
00 = Input 01 = Output
10 = TOUT0 11 = reserved
在这里你配置的01,也就是Output,具体这个PIN接到什么地方,作用是什么,
需要看你的板子的设计了,和CPU没关系了。
GPBDAT中的值是用来拉高或拉低这个PIN的。