打印

ARM7寄存器应用的问题?请帮忙 谢谢

[复制链接]
2824|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Atmel51|  楼主 | 2007-9-14 10:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的代码:
//************************************************************
//    程序说明:LED1,LDE2,LDE3依次亮灭
//************************************************************

void delay(unsigned long int i)
{
  for(;i>0;i--)
  ;
}

int main(void)
{
13  PIO_PER=0x0000000F;                 //PIOA0-2作为I/O使用
14  PIO_OER=0x0000000F;                  //PIOA0-2输出使能
  while(1)
  {
17    PIO_CODR=0x00000001;           //PIOA0输出低电平
    delay(1000000);
        
20    PIO_SODR=0x00000001;           //PIOA0输出高电平
    delay(1000000);
    PIO_CODR=0x00000002;
    delay(1000000);
    PIO_SODR=0x00000002;
    delay(6000000);
        
                 
    PIO_CODR=0x00000004;
    delay(1000000);
    PIO_SODR=0x00000004;
    delay(1000000);
   }
}
编译时出错:如下:
Error:C2456E: undeclared name inventing 'extern int PIO_PER'
      line 13 14 17 20
在ARM中寄存器不能直接用吗?

相关帖子

沙发
dld2| | 2007-9-14 10:40 | 只看该作者

这个不是arm的寄存器。是芯片厂家在arm核外围扩展的特殊功能寄存器。
arm编译器认不得。

使用特权

评论回复
板凳
Atmel51|  楼主 | 2007-9-14 11:26 | 只看该作者

是这样啊!那我再看看书,看是怎么做的!

使用特权

评论回复
地板
soso| | 2007-9-14 11:41 | 只看该作者

关键是头文件里没有给这个寄存器名下定义。

可以查一下头文件的情况。找到这些寄存器,看他们的物理地址有无定义。

使用特权

评论回复
5
Atmel51|  楼主 | 2007-9-14 15:02 | 只看该作者

这个地址映射 把我搞的头晕!

看了半天都没有搞明白!比较复杂!

使用特权

评论回复
6
fcw| | 2007-9-14 15:34 | 只看该作者

我也是

有沒有arm高手指點一下,不勝感謝!

使用特权

评论回复
7
Ice_River| | 2007-9-14 16:46 | 只看该作者

地址映射

把物理寄存器的位置指定到一个地址上,访问那个地址等于直接访问寄存器

使用特权

评论回复
8
bald| | 2007-9-14 16:56 | 只看该作者

用的谁的芯片?

厂家应该提供Include文件。如果没有,在手册上查一下地址自己定义。

使用特权

评论回复
9
Atmel51|  楼主 | 2007-9-15 07:22 | 只看该作者

用 的是AT91SAM7S64 ,头文件没有 找到

这个头文件 在ADS中没有!那位知道在哪能有,我也下个看看!

使用特权

评论回复
10
ljolove| | 2007-9-15 08:41 | 只看该作者

芯片手册里应该就有定义

要是找不到就自己写吧,就是有点麻烦呵呵

使用特权

评论回复
11
Atmel51|  楼主 | 2007-9-15 10:09 | 只看该作者

告诉各位 在IAR里面我找到了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

20

帖子

1

粉丝