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灯灭。
主函数调用: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灯灭。