一步步点亮led之软硬件分析
硬件分析
查阅原理图发现,开发板上一个5颗LED。其中一颗D26的接法为:正极接+5V负极接地。所以这颗LED只要一上电就会亮,因此它应该是电源指示灯。
剩下的4颗LED灯:正极接+3.3V,负极接SOC的一个引脚:
D22: GPJ0_3
D23: GPJ0_4
D24: GPJ0_5
D25:PWMTOUT1(GPD0_1)
因此,为了点亮LED,我们可以让那些对应的引脚为低电平。
软件分析
下面开始分析软件方面的问题。如何操控这些引脚为低电平?
GPIO是芯片的引脚,我们在设计电路的时候就已经将LED的引脚接在这些特定引脚了。我们可以通过编程来控制GPIO的模式和输入输出值来操控引脚的状态,继而间接地控制LED。
下面的问题就是如何编程控制GPIO引脚的状态?
答案是寄存器,每一个GPIO都有其对硬的寄存器,我们可以通过配置他的对应的寄存器来改变GPIO引脚的状态。
GPJ0相关的寄存器有:
GPJ0CON(0xE0200240):(GPJ0 control)GPJ0控制寄存器,用来配置各个引脚的工作模式
GPJ0DAT(0xE0200244):(GPJ0 data)当引脚配置为input/output模式时,寄存器的相应位和引脚的电平高低对应
GPJ0PUD:(pull up down)控制引脚的内部弱上啦、下拉
GPJ0DRV:(driver)配置GPJ0引脚的驱动能力
GPJ0CONPDN:低功耗模式下的控制寄存器
GPJ0PUDPDN:低功耗模式下上下拉寄存器
注:在驱动LED点亮时,应将GPJ0CON配置为output模式,同时将GPJ0DAT对应的位设置为0;