/**************************************************************************** * Copyright: (C)2018 Î人ÁèÔÆÎïÍøÖÇ¿ÆÊµÑéÊÒ www.iot-yun.com * Author: GuoWenxue QQ: 281143292 * Description: ·Ü¶·STM32v5¿ª·¢°å LEDÉ豸²Ù×÷º¯Êý½Ó¿Ú * * ChangeLog: * °æ±¾ºÅ ÈÕÆÚ ×÷Õß ËµÃ÷ * V1.0.0 2018.05.10 GuoWenxue ·¢²¼¸Ã°æ±¾ ****************************************************************************/ #include "stm32f10x.h" #include "stm32v5_led.h" /* STM32v5 Èý¸öLED·Ö±ðÁ¬½Ó GPIO¿ÚµÄ PB5(LED1)¡¢PD6(LED2)¡¢PD3(LED3) */ led_gpio_t leds_gpio[MAX_LED] = { {LED1, GPIOB, GPIO_Pin_5}, /* LED1 ÓõÄGPB5 */ {LED2, GPIOD, GPIO_Pin_6}, /* LED2 ÓõÄGPD6 */ {LED3, GPIOD, GPIO_Pin_3}, /* LED3 ÓõÄGPD3 */ }; /* º¯Êý˵Ã÷: ÅäÖà LED GPIO¿ÚºÍʱÖÓ£» * ²ÎÊý˵Ã÷: ÎÞ * ·µ»ØÖµ: ÎÞ */ void init_led_gpio(void) { int i; GPIO_InitTypeDef GPIO_InitStructure; /* ʹÄÜPBºÍPD×é GPIOµÄʱÖÓ */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD , ENABLE); /*ÉèÖà PB5(LED1), PD6(LED2), PD3(LED3)Ϊ GPIO Êä³öÍÆÃâģʽ£¬¿ÚÏß·­×ªËÙ¶ÈΪ50MHz */ for(i=0; i MAX_LED ) return; if(OFF == cmd) GPIO_ResetBits(leds_gpio[which].group, leds_gpio[which].pin); else GPIO_SetBits(leds_gpio[which].group, leds_gpio[which].pin); }