实验现象:
LED0和LED1灯不断闪烁。
#define GPIO_OUTPUT_PIN_P01 P0_1
#define GPIO_PIN_OUTPUT_P01 GPIO_GetPin(GPIO_OUTPUT_PIN_P01)
#define GPIO_OUTPUT_PIN_P02 P0_2
#define GPIO_PIN_OUTPUT_P02 GPIO_GetPin(GPIO_OUTPUT_PIN_P02)
Pad_Config(GPIO_OUTPUT_PIN_P01, PAD_PINMUX_MODE, PAD_IS_PWRON, PAD_PULL_NONE, PAD_OUT_ENABLE, PAD_OUT_HIGH);
Pad_Config(GPIO_OUTPUT_PIN_P02, PAD_PINMUX_MODE, PAD_IS_PWRON, PAD_PULL_NONE, PAD_OUT_ENABLE, PAD_OUT_HIGH);
Pinmux_Config(GPIO_OUTPUT_PIN_P01, DWGPIO);
Pinmux_Config(GPIO_OUTPUT_PIN_P02, DWGPIO);
RCC_PeriphClockCmd(APBPeriph_GPIO, APBPeriph_GPIO_CLOCK, ENABLE);
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_StructInit(&GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin = GPIO_PIN_OUTPUT_P01;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_ITCmd = DISABLE;
GPIO_Init(&GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin = GPIO_PIN_OUTPUT_P02;
GPIO_Init(&GPIO_InitStruct);
#define DELAY_TIME (100000*100)
while (1)
{
/* Light up LED0 */
GPIO_WriteBit(GPIO_PIN_OUTPUT_P01, (BitAction)(1));
GPIO_WriteBit(GPIO_PIN_OUTPUT_P02, (BitAction)(1));
for (uint32_t i = 0; i < DELAY_TIME; i++);
/* Lights out LED0 */
GPIO_WriteBit(GPIO_PIN_OUTPUT_P01, (BitAction)(0));
GPIO_WriteBit(GPIO_PIN_OUTPUT_P02, (BitAction)(0));
for (uint32_t i = 0; i < DELAY_TIME; i++);
}