新手求助STM32的流水灯问题

2019-03-23 19:02发布

看《零死角玩转STM32》的初级篇中的流水灯,根据他的步骤写完程序,烧进去,结果灯全亮,不闪,后来干脆不高延时,改成如下所示还是全亮;
LED1( ON );     // 亮             LED1( OFF );    // 灭
LED2( ON );                         LED2( OFF );
LED3( ON );                           LED3( OFF );
后又改了一下
  LED1( ON );     // 亮            Delay(0x0FFFEF);               LED1( OFF );    // 灭           
LED2( ON );                        LED2( OFF );                       
LED3( ON );                          LED3( OFF );
结果只有LED1亮;
完整的程序如下

#include "stm32f10x.h"
#include "led.h"
//#define    MI_ERR    (-2)
void Delay(__IO u32 nCount);
int main(void)
{
/* LED 端口初始化 */
LED_GPIO_Config();
while (1)
{
  LED1( ON );     // 亮
  Delay(0x0FFFEF);
  LED1( OFF );    // 灭
  LED2( ON );
  LED2( OFF );
  LED3( ON );
  LED3( OFF );      
}
}
void Delay(__IO u32 nCount)  //简单的延时函数
{
for(; nCount != 0; nCount--);
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
雅剑
1楼-- · 2019-03-24 19:59
while (1)
        {
                LED1( ON );                          // 亮
        Delay(5000);
                LED1( OFF );                  // 灭
        Delay(5000);
               
        LED2( ON );
                Delay(5000);
                LED2( OFF );
               Delay(5000);
              
                LED3( ON );
                Delay(5000);
                LED3( OFF );  
               Delay(5000);   
        }

改成这样
zzfei90
2楼-- · 2019-03-24 20:31
 精彩回答 2  元偷偷看……
szengjiaqi
3楼-- · 2019-03-24 23:31
多谢各位的解答我知道了错在哪里了,延时太短了
smtmike
4楼-- · 2019-03-25 05:16
delay 5000太少了 stm32太快了起碼5000*5000
lr2131
5楼-- · 2019-03-25 06:31
 精彩回答 2  元偷偷看……
damiaa
6楼-- · 2019-03-25 11:52
看楼主的程序好笑

while (1)
{
  LED1( ON );     // 亮    亮
  Delay(0x0FFFEF);
  LED1( OFF );    // 灭  看不到
  LED2( ON ); //           看不到
  LED2( OFF ); //看不到

  LED3( ON ); //看不到


  LED3( OFF );       //看不到


}
关键是你眼不够快。不是程序没写好。哈哈。

一周热门 更多>