今天写一下OK6410裸机中的led灯,led是差不最简单的裸机驱动了吧。详细的说一下,以便梳理自己的知识。
我们首先看一下OK6410的LED连接图:
其中NLED1234,和s3c6410的GPIO引脚相连,如图:
其实LED发光的原理很简单的,就是把LED连接到s3c6410的GPIO引脚,通过改变s3c6410的GPIO上的电平来控制LED发光。
这样的话就很清楚了,我们来看下s3c6410 datasheet上关于GPIO引脚的设置:
首先是GPMCON寄存器:
因为我们要控制GPIO的电平,所以要把对应的GPIO引脚设置为Output,即:0001
像我们这个就是:GPMCON &=0xffff fff1;
把这个引脚设置好后,我们可以通过改变GPMDAT的值来改变引脚上的电平。下面是GPMDAT:
可以看出来我们只要把对应的位设置为0或1,就可以控制LED了。简单吧?
下面看下源程序:
这样,leds就交替亮了。