LED可以亮和灭但不能闪烁

2019-07-14 13:50发布

写个简单的LED程序试下,发现LED不能闪烁。程序如下:
u16 i = 10000;
  //Systick_Config(SystemCoreClock / 1000);
  /* GPIOE Periph clock enable */
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
  
  /* Configure PA5 Pin output pushpull mode */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 ;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  //GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  
  /* To achieve GPIO toggling maximum frequency, the following  sequence is mandatory.
  You can monitor PE14 and PE15 on the scope to measure the output signal.
  If you need to fine tune this frequency, you can add more GPIO set/reset
  cycles to minimize more the infinite loop timing.
  This code needs to be compiled with high speed optimization option.  */
  while (1)
  {
      
   GPIO_SetBits(GPIOA, GPIO_Pin_5);
   while(i--);
   GPIO_ResetBits(GPIOA, GPIO_Pin_5);
   while(i--);
  }

请高手指点下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
qwer31
1楼-- · 2019-07-15 16:01
延时时间太短
ke3978
2楼-- · 2019-07-15 20:14
while (1)
  {
    i = 10000;   
   GPIO_SetBits(GPIOA, GPIO_Pin_5);
   while(i--);
   i = 10000;
   GPIO_ResetBits(GPIOA, GPIO_Pin_5);
   while(i--);
  }
今天多少号
3楼-- · 2019-07-16 01:24
单独写一个亮灭函数,调整好延时才能做到闪烁

一周热门 更多>