上面在第一次分享当中介绍了慢速GPIO功能,它是通过VPB桥复位,速度较慢。这次介绍快速GPIO操作,它是通过局部总线访问。使用到的寄存器有:
FIOMASK 屏蔽寄存器,0有效
FIODIR 设置方向
FIOPIN 读管脚值
FIOSET 写1
FIOCLR 写0
主要代码:
注意这里unsigned int在32位单片机中是32位,要是用16位应该定义unsigned short
IODIR0 |=1<<12; //LED使能端口输出
IOCLR0 |=1<<12; //P0.12=0 使能74HC244
SCS=1<<1; //高速GPIO在P1端口使能
FIO1DIR=0x00FF0000; //高速GPIO端口方向控制
FIO1MASK=0XFF00FFFF; //端口的高速屏蔽寄存器
while(1)
{
for(i=16;i<24;i++)
{
FIO1SET=1<<i;//置高电平
delay(500000);
FIO1CLR=1<<i;//置低电平
delay(500000);
}
}