分享ARM7学习经验—FAST GPIO操作(三)

billbot501   2011-4-6 08:40 楼主

上面在第一次分享当中介绍了慢速GPIO功能,它是通过VPB桥复位,速度较慢。这次介绍快速GPIO操作,它是通过局部总线访问。使用到的寄存器有:

FIOMASK  屏蔽寄存器,0有效

FIODIR     设置方向

FIOPIN              读管脚值

FIOSET             1

FIOCLR            0

还有一个重要的寄存器就是SCS系统控制和状态标志寄存器。它的描述如图所示。

主要代码:

注意这里unsigned int在32位单片机中是32位,要是用16位应该定义unsigned short

IODIR0 |=1<<12;                 //LED使能端口输出

       IOCLR0 |=1<<12;                //P0.12=0 使能74HC244

       SCS=1<<1;                  //高速GPIOP1端口使能

       FIO1DIR=0x00FF0000;        //高速GPIO端口方向控制

       FIO1MASK=0XFF00FFFF;  //端口的高速屏蔽寄存器

 

       while(1)

       {

              for(i=16;i<24;i++)

              {

                     FIO1SET=1<<i;//置高电平

                     delay(500000);

                     FIO1CLR=1<<i;//置低电平

                     delay(500000);

              }           

       }

回复评论 (2)

回复 楼主 billbot501 的帖子

关注中...
加油!在电子行业默默贡献自己的力量!:)
点赞  2011-4-6 09:03
所谓的快速GPIO到底有什么区别,一点感性认识都没有啊
点赞  2011-4-6 16:32
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复