/****************************************************************************
|
* Copyright: (C)2018 Î人ÁèÔÆÎïÍøÖÇ¿ÆÊµÑéÊÒ www.iot-yun.com
|
* Author: GuoWenxue<guowenxue@gmail.com> QQ: 281143292
|
* Description: ·Ü¶·STM32v5¿ª·¢°å LED¿ØÖÆ´úÂë
|
*
|
* ChangeLog:
|
* °æ±¾ºÅ ÈÕÆÚ ×÷Õß ËµÃ÷
|
* V1.0.0 2018.05.10 GuoWenxue ·¢²¼¸Ã°æ±¾
|
****************************************************************************/
|
|
#include "stm32f10x.h"
|
|
|
void delay(uint32_t count)
|
{
|
for(; count != 0; count--)
|
;
|
|
return ;
|
}
|
|
//#define MAIN_USE_API
|
|
#ifndef MAIN_USE_API
|
|
void led_gpio_init(void); /*º¯ÊýÉùÃ÷*/
|
|
int main(void)
|
{
|
led_gpio_init();
|
|
while(1)
|
{
|
GPIO_SetBits(GPIOB, GPIO_Pin_5); /* µãÁÁLED1 */
|
delay(0x3FFFFF);
|
GPIO_ResetBits(GPIOB, GPIO_Pin_5); /* ÃðµôLED1 */
|
delay(0x3FFFFF);
|
|
GPIO_SetBits(GPIOD, GPIO_Pin_6); /* µãÁÁLED2 */
|
delay(0x3FFFFF);
|
GPIO_ResetBits(GPIOD, GPIO_Pin_6); /* ÃðµôLED2 */
|
delay(0x3FFFFF);
|
|
GPIO_SetBits(GPIOD, GPIO_Pin_3); /* µãÁÁLED3 */
|
delay(0x3FFFFF);
|
GPIO_ResetBits(GPIOD, GPIO_Pin_3); /* ÃðµôLED3 */
|
delay(0x3FFFFF);
|
}
|
}
|
|
/* STM32v5 Èý¸öLED·Ö±ðÁ¬½Ó GPIO¿ÚµÄ PB5(LED1)¡¢PD6(LED2)¡¢PD3(LED3) */
|
void led_gpio_init(void)
|
{
|
GPIO_InitTypeDef GPIO_InitStructure;
|
|
/* ʹÄÜGPIOµÄPBºÍPD ×éµÄʱÖÓ£¬ÒòΪÈý¸öLED ·Ö±ðÁ¬ÔÚPBºÍPD ×éÉÏ */
|
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD , ENABLE);
|
|
/*+-----------------------------------+
|
*| ÉèÖÃPB5(¼´LED1)GPIOģʽ |
|
*+-----------------------------------+*/
|
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
|
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /* ÍÆÍìÊä³öģʽ */
|
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /* ·×ªËÙ¶ÈΪ50MHz */
|
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
|
/*+-----------------------------------+
|
*| ÉèÖÃPD6(¼´LED2)GPIOģʽ |
|
*+-----------------------------------+*/
|
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
|
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
|
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
GPIO_Init(GPIOD, &GPIO_InitStructure);
|
|
/*+-----------------------------------+
|
*| ÉèÖÃPD3(¼´LED3)GPIOģʽ |
|
*+-----------------------------------+*/
|
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
|
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
|
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
GPIO_Init(GPIOD, &GPIO_InitStructure);
|
|
return ;
|
}
|
|
#else
|
|
#include "stm32v5_led.h"
|
int main(void)
|
{
|
init_led_gpio();
|
|
while(1)
|
{
|
turn_led(LED1,ON);
|
delay(0x3FFFFF);
|
turn_led(LED1,OFF);
|
delay(0x3FFFFF);
|
|
turn_led(LED2,ON);
|
delay(0x3FFFFF);
|
turn_led(LED2,OFF);
|
delay(0x3FFFFF);
|
|
turn_led(LED2,ON);
|
delay(0x3FFFFF);
|
turn_led(LED2,OFF);
|
delay(0x3FFFFF);
|
}
|
}
|
#endif
|