| /**
  ******************************************************************************
  * [url=home.php?mod=space&uid=288409]@file[/url]    GPIO/GPIO_Toggle/main.c
  * [url=home.php?mod=space&uid=187600]@author[/url]  MCU SD
  * [url=home.php?mod=space&uid=895143]@version[/url] V1.0
  * [url=home.php?mod=space&uid=212281]@date[/url]    26-Dec-2014
  * [url=home.php?mod=space&uid=247401]@brief[/url]   The main function file
  ******************************************************************************
  */
/* Includes ------------------------------------------------------------------*/
#include "gd32f10x.h"
#include <stdio.h>
#include "systick.h"
/* Private functions ---------------------------------------------------------*/
#define LED1(a) if (a)  \
                    GPIO_SetBits(GPIOF,GPIO_PIN_0);\
                    else    \
                    GPIO_ResetBits(GPIOF,GPIO_PIN_0)
#define LED2(a) if (a)  \
                    GPIO_SetBits(GPIOF,GPIO_PIN_1);\
                    else    \
                    GPIO_ResetBits(GPIOF,GPIO_PIN_1)
#define LED3(a) if (a)  \
                    GPIO_SetBits(GPIOF,GPIO_PIN_2);\
                    else    \
                    GPIO_ResetBits(GPIOF,GPIO_PIN_2)
#define LED4(a) if (a)  \
                    GPIO_SetBits(GPIOF,GPIO_PIN_3);\
                    else    \
                    GPIO_ResetBits(GPIOF,GPIO_PIN_3)
/* Private variables ---------------------------------------------------------*/
static vu32 TimingDelay = 0;
/**
  * @brief  Configure the GPIO ports
  * @param  None
  * @retval None
  */
void GPIO_Configuration(void)
{    
    GPIO_InitPara GPIO_InitStructure;
    RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_GPIOF,ENABLE);
    GPIO_InitStructure.GPIO_Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
    GPIO_Init(GPIOF,&GPIO_InitStructure);
}
/**
  * @brief  Delay time
  * @param  data: The size of the delay time
  * @retval None
  */
void Delay(uint32_t data)
{
    TimingDelay = data;
    while(TimingDelay != 0)
    {
    }
}
/**
  * @brief  Decrements the TimingDelay variable
  * @param  None
  * @retval None
  */ 
void Decrement_TimingDelay(void)
{
    if (TimingDelay != 0x00)
    {
        TimingDelay--;
    }
}
/**
  * @brief  Main program
  * @param  None
  * @retval None
  */
int main(void)
{
    GPIO_Configuration();
    SysTick_Configuration();
    while (1)
    {
        LED1(1);
        LED2(1);
        LED3(1);
        LED4(1);
        Delay(1000);
        LED1(0);
        LED2(0);
        LED3(0);
        LED4(0);
        Delay(1000);
        LED1(1);
        LED4(0);
        Delay(1000);
        LED2(1);
        LED1(0);
        Delay(1000);
        LED3(1);
        LED2(0);
        Delay(1000);
        LED4(1);
        LED3(0);
        Delay(1000);
    }
}
/******************* (C) COPYRIGHT 2014 GIGADEVICE *****END OF FILE****/
 
 |