Date: 8-Nov-2011
By: Calvinlee1984@163.com
1.硬件原理图
2.Port B寄存器设置
static void LED_Port_Init(void){
//Port B Control:GPB5/6/8/10设为输出口
rGPBCON |=(1<<10)|(1<<12)|(1<<16)|(1<<20); //Set GPB5/6/8/10 as Output
//Port B Pull up Function:禁止上拉功能
rGPBUP &=(0<5)|(0<6)|(0<8)|(0<10); Disable Pull up Function
}
3.代码分析 LED.c
#include "2440addr.h"
#include "UART.h"
//寄存器设置
static void LED_Port_Init(void){
rGPBCON |=(1<<10)|(1<<12)|(1<<16)|(1<<20);
rGPBUP &=(0<5)|(0<6)|(0<8)|(0<10);
}
//点亮LED
void LightLED(void){
LED_Port_Init(); //LED0端口寄存器设置
UART0_Printf("Lights all LEDs!\n"); //输出一字符串至终端
while(1)
{
//设置Port B输出口输出电平
rGPBDAT = 0x29e; //010_1001_1110
}
}
4.测试程序及结果
#include "UART.h"
#include "LED.h"
int Main(void)
{
UART0_Port_Init(115200); //UART0端口寄存器设置
LightLED(); //点亮LED
while(1){
;
}
return 0;
}
LED被点亮。