
如果是对GPIO口的操作,可以使用寄存器的操作,寄存器操作的好处是编译快,简单明了
'''
寄存器随手敲
'''
#include "led.h"
#include "stm32f10x.h"
void LED_Init(void){
RCC->APB2ENR|=1<<3;
RCC->APB2ENR|=1<<6;
//GPIOB.5
GPIOB->CRL&=0xFF0FFFFF;
GPIOB->CRL|=0x00300000;
GPIOB->ODR|=1<<5;
GPIOE->CRL&=0xFF0FFFFF;
GPIOE->CRL|=0x00300000;
GPIOE->ODR|=1<<5;
//GPIOE.5
}
int main(void)
{
delay_init();
LED_Init();
while(1){
GPIOB->ODR|=1<<5;
GPIOE->ODR|=1<<5;
delay_ms(500);
GPIOB->ODR&=~(1<<5);
GPIOE->ODR&=~(1<<5);
delay_ms(500);
}
*************************************************************************
*************************************************************************
RCC->APB2ENR APB2时钟使能寄存器:位3是使能GPIOB,位6是使能GPIOE,
GPIOE->CRL CRL端口低配置寄存器,操作小标为0-7的IO口
通过分析中文参考手册,可简单明白寄存器操作的便捷之处
|