zoukankan      html  css  js  c++  java
  • 3- stm32 gpio寄存器

    实验目的:

    通过寄存器方式点亮LED

    实验步骤及原理:

    初始化分以下几步:①开时钟  

    在对应的位写1则开启对应时钟,写0则关闭时钟

    ②配置GPIO属性,设置输入或者输出

    ③进行读写操作

     

    实验代码:

    (1)初始化

    void LED_INIT(void)
    {
       RCC->APB2ENR|=9<<2;//开时钟  GPIOA GPIOD
         GPIOA->CRH &= ~(3<<0); //0xfffffff0;// clear  推挽输出 50MHz  PA8
       GPIOA->CRH |=  (3<<0);//0x00000003 set
        
         GPIOD->CRL &= ~(3<<8);//0xfffff0ff; //PD2  
         GPIOD->CRL |=  (3<<8); //0x00000300;
    }

    (2)main函数

    int main(void)
    {
    
       LED_INIT();
    
         GPIOA->BRR |=1<<8; //reset
         GPIOA->BSRR |=1<<8;//set
        
         GPIOD->BRR |=1<<2; // reset
         GPIOD->BSRR |=1<<2;//set
         
       GPIOA->ODR &=~(1<<8);    //开led
       GPIOA->ODR |= (1<<8);   //关led
        
        while(1)
        {
          GPIOA->ODR ^= GPIO_Pin_8;        //LED_Toggle
            GPIOD->ODR ^= GPIO_Pin_2;
        }
    
    }
  • 相关阅读:
    RHEL7管道与重定向
    RHEL7软件包管理
    RHEL7用户管理
    RHEL7文件管理
    RHEL7文件查找
    RHEL7文件权限
    RHEL7文件归档与压缩
    RHEL7进程管理
    博客园样式美化
    flask+python页面修改密码功能
  • 原文地址:https://www.cnblogs.com/darren-pty/p/13909425.html
Copyright © 2011-2022 走看看