首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

STM32F072的寄存器LED闪烁

STM32F072的寄存器LED闪烁

看了网上视频的寄存器操作,又看了下072的参考手册还真和M3核不一样
GPIO口的时钟使能寄存器是AHBENR,
而GPIO口寄存器有4个32位的配置寄存器,分别是MODER,OTYPER,OSPEEDR,PUPDR.
                             2个32位的数据寄存器IDR和ODR.
                             1个32位的设置/复位寄存器BSRR.
                             1个32位的锁存器LCKR  (PORA和PORTB).
                              2个复用选择寄存器AFRH 和AFRL(PORTA-PORTE).
072开发板上LED在PA5上;
void LED_Init(void)
{
    RCC->AHBENR|=1<<17;
    GPIOA->MODER&=0xfffff0ff;
    GPIOA->MODER|=0x00000400;  
    GPIOA->OTYPER&=0xffffffef;  
    GPIOA->OSPEEDR|=0x00000c00;  
}

int main(void)
{              


SystemInit();        

    LED_Init();
    while(1)
{
        GPIOA->ODR|=1<<5;
        Delay_Ms(500);
        GPIOA->ODR&=0xffffffcf;
        Delay_Ms(500);


  }
     }
   比起库函数老说,是不是很精简
返回列表