端口初始化
//**** 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的。