新手小菜鸟一枚,近期手头拿到的ARM7(好像有点落后了)的实验箱是LPC2290芯片,于是照着实验指导书弄几个实验做做熟悉一下这个平台。
对于GPIO方面的实验,蜂鸣器和流水灯,以及用按键控制蜂鸣器并没有什么特别的,于是我就想改一下,用按键来控制流水灯中的一盏(LED1)。对于lpc2200的工程模版并不需要做什么改动,只要对main.c主程序稍作改动就行。
#include "config.h"
#define LED1 1<<16 //可删。。。
#define KEY 1<<20
#define LEDCON 0x00010000 ①
int main (void)
{
uint32 i;
PINSEL0=0x00000000; ②
IO2DIR=LEDCON; ③
while(1)
{
if((IO0PIN&KEY)!=0) ④
{
IO2SET=LEDCON; //置1
}
else
{
IO2CLR=LEDCON; //清零
}
for(i=0;i<1000;i++);
}
return 0;
}
其实很简单,可我还是摸索了好一会(毕竟菜),其中有几个注释点:
①实验箱上LED1对应的芯片管脚是P2.16,所以只需选通位16(第17位),即0x0001 0000。
②P0口选为GPIO。由于模版中PINSEL2使用启动代码的默认配置,所以不需要对P2口进行设置,更改可能会干扰总线。
③GPIO的输入输出方向设置,将P2设为输出。未设置的P0口默认为输入。
④实验箱上LED是低电平点亮,按键按下输出低电平。
记性不好,稍作记录,方便今后的学习~~~