mini 2440 test 的点亮LED

来源:互联网 发布:软件产品质量评价 编辑:程序博客网 时间:2024/06/05 11:08

 

 
Mini 2440的灯LED1,LED2,LED3,LED4分别接的是 GPF5 GPF6 GPF7  GPF8;低电平点亮小灯。
主函数调用:Led_Display(0x66);
void Led_Display(int data)
{  
          //Active is low.(LED On)
          // GPF8  GPF7   GPF6   GPF5
          //nLED_4 nLED_3 nLED_2 nLED_1
      rGPBDAT = (rGPBDAT & ~(0xf<<5)) | ((~data & 0xf)<<5);  
}
这是test自带的程序;由于没有设置B口的GPBCON,灯的显示将达不到预期的效果
修改为
void Led_Display(int data)
{  
          //Active is low.(LED On)
          // GPB8  GPB7   GPB6   GPB5
          //nLED_4 nLED_3 nLED_2 nLED_1
   rGPBCON= (rGPBCON & ~(0xf<<5)) | (0x5<<5);  
   rGPBUP  = 0x7ff;     // The pull up function is disabled GPB[10:0]
      rGPBDAT = (rGPBDAT & ~(0xf<<5)) | ((~data & 0xf)<<5);  
  
}
首先设置  rGPBCON使得GPB5 ,GPB6, GPB7 , GPB8  为输出。然后设置rGPBUP,不适用上啦电阻。这样就可以控制灯的亮灭了。具体为输入data 二进制的低四位,即bit_1,bit_2,bit_3,bit_4分别控制LED1,LED2,LED3,LED4,为1对应的LED灯亮,为0对应的LED灯灭。