这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » GD32 » 【GD31230G-Start】点灯(一)

共2条 1/1 1 跳转至

【GD31230G-Start】点灯(一)

高工
2015-03-26 22:44:13     打赏

一个只有一个LED外设的板子能做多少实验呢?待我一个个地探索。这个系列可能只有三两篇名也可能会有十多篇。敬请期待

配置好时钟之后,先试试最简单的点灯。

看下板子,可以看见LED1接在PA1上边。管脚输出高电平时候LED点亮。 于是有了这个跟STM32几乎完全一样的点灯程序:
int main(void)
{
    /* 熟悉的时钟使能 */
    RCC_AHBPeriphClock_Enable( RCC_AHBPERIPH_GPIOB |
                               RCC_AHBPERIPH_GPIOA , ENABLE );
      {
          GPIO_InitPara GPIO_InitStructure;
  
          /* 配置LED管脚 */
          GPIO_InitStructure.GPIO_Pin = GPIO_PIN_1;
          GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT;
          GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;
          GPIO_InitStructure.GPIO_PuPd = GPIO_PUPD_NOPULL;
          GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
          GPIO_Init( GPIOA , &GPIO_InitStructure );
      }
     
      GPIO_SetBits(GPIOA,GPIO_PIN_1); //高电平,灯亮
      while(1);
}
然后试试按键。读取KEY的状态,用LED作为回馈。当按键按下去时候,KED熄灭否则LED点亮。
int main(void)
{
    /* Enable the GPIO_LED Clock */
    RCC_AHBPeriphClock_Enable( RCC_AHBPERIPH_GPIOA , ENABLE );
 
      {
          GPIO_InitPara GPIO_InitStructure;
          .............................
          //配置Key引脚
          GPIO_InitStructure.GPIO_Pin = GPIO_PIN_0;
          GPIO_InitStructure.GPIO_Mode = GPIO_MODE_IN;
          GPIO_Init( GPIOA , &GPIO_InitStructure );
      }
      while(1)
      {
          if(GPIO_ReadInputBit(GPIOA,GPIO_PIN_0))  //读取Key引脚状态
              GPIO_SetBits(GPIOA,GPIO_PIN_1); //设置LED脚输出
          else
              GPIO_ResetBits(GPIOA,GPIO_PIN_1);
      }

}

下期预告:

高级点的,Key控制LED亮灭反转。这里试试外部中断,用中断方式检测Key输入。ext......




关键词: GD32    

院士
2015-04-01 09:12:16     打赏
2楼
灯呢

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]