LPC2103快速FGPIO例程源码
LPC2103快速FGPIO例程源码菜农 发表于 2006-7-7 22:34:00
void SystemObj::PortInit(void)
{
SYSCON->SCS = 0;//设置普通GPIO模式
PINSEL->PIN_SEL0 = 0x00000000;// 设置管脚连接GPIO
PINSEL->PIN_SEL1 = 0x00000000;// 设置管脚连接GPIO
P0->IODIR= 0x00000000;// 设置P0口为输入
FP0->FIODIR= 0x00000000;// 设置FP0口为输入
FP0->FIOMASK = 0xffffffff; //屏蔽快速IO.
}
void SystemObj::HC164init(void)
{
SYSCON->SCS |= (1 << GPIOM);//设置快速FGPIO模式
LEDFPORT->FIODIR |= (1 << HC164DATA) | (1 << HC164CLK);//设置快速IO为输出方式
LEDFPORT->FIOMASK &= ~((1 << HC164DATA) | (1 << HC164CLK));//允许快速IO.
}
void SystemObj::HC164Write(unsigned char cData)
{
unsigned int i;
for (i = 0; i < 8; i ++) {
LEDFPORT->FIOCLR = (1 << HC164CLK);//时钟拉低。快速IO
if (cData & 0x80) {//MSB最高位为1时
LEDFPORT->FIOSET = (1 << HC164DATA);//数据为高。快速IO
}
else {
LEDFPORT->FIOCLR = (1 << HC164DATA);//数据为低。快速IO
}
cData <<= 1;
LEDFPORT->FIOSET = (1 << HC164CLK);//时钟拉高。快速IO
}
} LPC2103也有快速GPIO吗? 还以为只有214x个才会有的. 有时有,但我用了F gpio 管脚状态就不对了。希望各位大侠介绍个详细的步骤
页:
[1]