这篇博客是STM32学习之路(三)的后续,我尝试用BRR和BSRR实现控制IO口输出,其他内容基本一样,只有main.c主函数中进行了改动。代码如下:
#include "stm32f10x.h"
#include "delay.h"
#include "led.h"
int main(void){
delay_init();
led_init();
while(1){
GPIOB->BRR|=1<<5;
GPIOE->BSRR|=0x00000020;
delay_ms(400);
GPIOE->BRR|=1<<5;
GPIOB->BSRR|=0x00000020;
delay_ms(800);
}
//ODR版本
// GPIOB->ODR|=1<<5;Y
// //将GPIOE.5置0步骤:与第5位进行非运算
// GPIOE->ODR&=~(1<<5);
// delay_ms(300);
//
// GPIOB->ODR&=~(1<<5);
// GPIOE->ODR|=1<<5;
// delay_ms(300);
}