关于ARM7的一些问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 07:39:31
1:在看ARM的程序时候,有这样一段代码
U32 pIrqStart = 0;
U32 pIrqFinish = 0;
U32 pIrqHandler = 0;
其中,typedef unsigned int U32。
他上面的注释是//我们用这个片编存储我们的IRQ ISR入口地址。其中,pirqstart等等这些是什么意思?等于0又是什么意思?
2:在流水灯的程序中,主循环代码如下。
for (;;)
{
for(i=0;i<8;i++)
{
rPDATD=~(1<<i);
sysUtilsUSecDelay(500000);//延时200ms
}
资料上有说:#define rPDATD (*(volatile unsigned *)0x1d20020)
(*(volatile unsigned *)0x1d20020)。我想应该是定义了一些引脚?!或者一个端口?!具体,是什么意思,请高手解答。
想问问第二位大侠,rPDATD定义了一个引脚还是八个引脚?从程序上看,我觉得是定义了8个引脚,因为外面有8个流水灯嘛,要你一个个亮,就要有8个引脚分别连上8个灯,然后分别输出高低电平。那8个引脚都一个地址么?!!

第一个问题:
=0 是将那些寄存器值先清零

第二个问题:

查看手册,和电路图,你会找到他是哪个引脚的

其中,0x1d20020是地址,本条指令中将地址强制转换成可变无符号的指针,(volatile unsigned *)0x1d20020最后用括号括起来,容易看
即定义的rPDATD的地址,就是这样