原创 LPC2103快速FGPIO例程源码

2007-12-14 00:20 3855 7 7 分类: MCU/ 嵌入式
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
  } 
}



阅读全文(789) | 回复(4) | 引用通告(5) | 编辑
 



PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条