打印

求助三句话的程序,我找不到错误

[复制链接]
1604|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
iiijjj0323|  楼主 | 2012-7-2 20:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
pi, gp, GPIO, IO, LED
本帖最后由 iiijjj0323 于 2012-7-2 20:57 编辑

我在主循环中想让LED闪动,这样写的
void main()
{
  while(1)
  {
        GPIO_ResetBits(GPIOA, GPIO_Pin_2);     // 点亮LED
        for(i=0;i<0xfffffff;i++);                      // 延时
        GPIO_SetBits(GPIOA, GPIO_Pin_2);         //灭LED
   }
我用的是stm32103rb单片机,单片机时钟 GPIO 等 初始化肯定没有问题,我用的是keil4
如果我把主函数改成
void main()
{
  while (1)
  {      
    for (i = 0; i <5 ; i++)
    {
      if (i %= 1)
      {
        GPIO_ResetBits(GPIOA, GPIO_Pin_2);
      }
      else
      {
        GPIO_SetBits(GPIOA, GPIO_Pin_2);  
      }
      for (i=0;i<0xfffffff;i++);
    }
  }
}
这样改后LED就能闪动了,但我总感觉第一个比较简练,却不好使,led一直亮,不知道为什么,请大家找找原因

相关帖子

沙发
shendalei| | 2012-7-3 10:42 | 只看该作者
GPIO_ResetBits(GPIOA, GPIO_Pin_2);     // 点亮LED
        for(i=0;i<0xfffffff;i++);                      // 延时
        GPIO_SetBits(GPIOA, GPIO_Pin_2);         //灭LED
                for(i=0;i<0xfffffff;i++);                      // 延时

使用特权

评论回复
板凳
iiijjj0323|  楼主 | 2012-7-3 13:09 | 只看该作者
明白了,谢谢,哈哈

使用特权

评论回复
地板
电子学习员| | 2012-7-5 00:06 | 只看该作者
熄灭后还需要一次延时

使用特权

评论回复
5
sedatefire| | 2012-7-5 18:07 | 只看该作者
GPIO_SetBits(GPIOA, GPIO_Pin_2);         //灭LED
这个搞完后就又搞回去了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

29

帖子

1

粉丝