死活点不亮LED,请大虾帮忙!感谢!

[复制链接]
3510|10
 楼主| s700 发表于 2011-6-8 16:23 | 显示全部楼层 |阅读模式
芯片是LPC2368, 其中P2.0--P2.7各接上一个led,高电平点亮,即是端口输出‘1’,相应led亮。我运用keil写的程序如下,刚接触arm7,始终查不出问题,各位高手帮帮忙,谢谢!



#include <lpc23xx.h>


int NO;



void GPIO_init(void)
{
   PINSEL2 = 0x00000000;
   FIO2DIR |= 0xFF;   //SET OUTPUT
   FIO2CLR |= 0xFF;   //clear all

}


void led_on(int NO)
{
   FIO2SET = (1<<NO);
}


void led_off(int NO)
{
   FIO2CLR = (1<<NO);
}



void delay(int n)
{
   int j;
   for(;n>0;n--)
     for(j=0;j<=5000;j--);
}



int main(void)
{
  GPIO_init();
  while(1)
  {   
     led_on(1);
  delay(2);
  led_off(1);
  delay(2);
  }
  return 0;
}
 楼主| s700 发表于 2011-6-8 16:47 | 显示全部楼层
求教,求教
原野之狼 发表于 2011-6-8 17:15 | 显示全部楼层
看下IO电源配置了没有
senioryzc 发表于 2011-6-8 17:22 | 显示全部楼层
你先确保你的程序跑起来了
刚开始不懂得话,最好在现成的代码基础上做你的实验
米色落差 发表于 2011-6-10 22:26 | 显示全部楼层
你的延时程序有问题吧?第二个for循环没作用吧,延时貌似太短了,导致灯亮了你看不出来。我也是新手
米色落差 发表于 2011-6-10 22:29 | 显示全部楼层
哦,错了,是延时太长了吧。不知道你用的什么编译环境。我用的是mdk,int是4个字节,如果这样的话从0减到5000会很久的。
sczhangyl 发表于 2011-6-21 16:37 | 显示全部楼层
看下数据手册!上边说的很清楚!
zxfasx 发表于 2011-6-23 16:20 | 显示全部楼层
你应该找一个正确的程序模板,确保程序能跑起来
hys0401 发表于 2011-6-23 17:35 | 显示全部楼层
本帖最后由 hys0401 于 2011-6-23 17:36 编辑

for(j=0;j<=5000;j--);
====================
用j++才对吧?
re张风 发表于 2011-6-24 15:14 | 显示全部楼层
先确认一个IO工作时钟吧!感觉这一节代码中没有使能它。
ycz9999 发表于 2011-6-25 01:10 | 显示全部楼层
9L正解
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

8

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部