点灯代码
#define _GPIO_LED_TOGGLE_C_
#include <stdio.h>
#include "platform.h"
#include "gpio_led_toggle.h"
void GPIO_Configure(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOA, ENABLE);
GPIO_StructInit(&GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_10 | GPIO_Pin_11;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_WriteBit(GPIOA, GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_10 | GPIO_Pin_11, Bit_SET);
}
void GPIO_IO_Toggle(GPIO_TypeDef *GPIOn, uint16_t PINn)
{
if (Bit_RESET == GPIO_ReadOutputDataBit(GPIOn, PINn))
{
GPIO_SetBits(GPIOn, PINn);
}
else
{
GPIO_ResetBits(GPIOn, PINn);
}
}
void GPIO_LED_Toggle_Sample(void)
{
printf("\r\nTest %s", __FUNCTION__);
GPIO_Configure();
while (1)
{
GPIO_IO_Toggle(GPIOA, GPIO_Pin_5);
GPIO_IO_Toggle(GPIOA, GPIO_Pin_6);
GPIO_IO_Toggle(GPIOA, GPIO_Pin_10);
GPIO_IO_Toggle(GPIOA, GPIO_Pin_11);
PLATFORM_DelayMS(50);
}
}

