测试代码如下:
- LedInit(GPIOB, GPIO_PIN_1 | GPIO_PIN_6 | GPIO_PIN_7);
- LedOn(GPIOB, GPIO_PIN_1 | GPIO_PIN_6 | GPIO_PIN_7);
- //Delay(0x28FFFF);
- RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOB|RCC_APB2_PERIPH_GPIOA|RCC_APB2_PERIPH_AFIO, ENABLE);
-
- GPIOB->PLOCK = 0x10002; //PLOCKK写1
- GPIOB->PLOCK = 0x00002; //PLOCKK写0
- GPIOB->PLOCK = 0x10002; //PLOCKK写1
-
- read = GPIOB->PLOCK; //读0
- read = GPIOB->PLOCK; //读1
-
- GPIO_InitStruct(&GPIO_InitStructure);
- GPIO_InitStructure.Pin = GPIO_PIN_1 | GPIO_PIN_6 | GPIO_PIN_7;
- GPIO_InitStructure.GPIO_Mode = GPIO_MODE_INPUT;
- GPIO_InitPeripheral(PORT_GROUP, &GPIO_InitStructure);
- while (1)
- {
- LedBlink(PORT_GROUP, LED1_PIN | LED2_PIN | LED3_PIN);
- Delay(0x28FFFF);
- }
复制代码 可以看到代码中将PB1锁定,然后对PB1、PB6、PB7重新配置,再进行翻转。如图所示,只有PB1控制的LED在闪烁,PB6、PB7控制的LED熄灭
|