[STM32F0] 【转】STM32F072的寄存器LED闪烁

[复制链接]
1501|3
 楼主| 小浣熊 发表于 2015-1-30 16:54 | 显示全部楼层 |阅读模式
看了网上视频的寄存器操作,又看了下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);
      
  }
     }
   比起库函数老说,是不是很精简
 楼主| 小浣熊 发表于 2015-1-30 16:54 | 显示全部楼层
如果不喜欢官方的库,可以自己封装一个。其实感觉官方的IO接口函数配置有点麻烦。自己写一个digitalWrite其实是挺好的。
zh113214 发表于 2015-1-30 17:05 | 显示全部楼层
顶一个,可惜没有图片。。
mmuuss586 发表于 2015-1-30 20:30 | 显示全部楼层

IO操作是比较简单;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

528

主题

2095

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部