求助三句话的程序,我找不到哪里错了

2019-03-24 14:07发布

我在主循环中想让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一直亮,不知道为什么,请大家找找原因 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
exiao
2019-03-25 00:24
< :TI_MSP430_内容页_SA7 --> 楼上正解,如果灭灯不延时,灭的时间就太短,不可能观察到

一周热门 更多>

相关问题

    相关文章