首页 > 其他 > 详细

GPIO_Pin_x和控制码之位操作思想

时间:2020-03-13 21:39:06      阅读:485      评论:0      收藏:0      [点我收藏+]
/******** I/O口工作模式 ********/
typedef enum
{ GPIO_Mode_AIN = 0x0,
  GPIO_Mode_IN_FLOATING = 0x04,
  GPIO_Mode_IPD = 0x28,
  GPIO_Mode_IPU = 0x48,
  GPIO_Mode_Out_OD = 0x14,
  GPIO_Mode_Out_PP = 0x10,
  GPIO_Mode_AF_OD = 0x1C,
  GPIO_Mode_AF_PP = 0x18
}GPIOMode_TypeDef;

/******** 初始化 ********/
void LEDXH_Init(void)
{
 
 GPIO_InitTypeDef  GPIO_InitStructure;
    
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);   
    
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11;   
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;        
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;       
 GPIO_Init(GPIOB, &GPIO_InitStructure);                  
}
/******** GPIO_Pin_x和控制码之位操作思想 ********/
int main(void)
 {      
    LEDXH_Init();           
//  while(1){
//  temp=0x100;
//  for(i=0;i<4;i++){
//      GPIO_Write(GPIOB,~temp);
//      Delay(100);
//      temp=temp<<1;
//  }
//  }
        
    /********* GPIO_Pin_x操作 ********/
//  while(1){
//      GPIO_SetBits(GPIOB,GPIO_Pin_8|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11);
//  GPIO_ResetBits(GPIOB,GPIO_Pin_8);
//  Delay(100);
//  GPIO_SetBits(GPIOB,GPIO_Pin_8|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11);
//  GPIO_ResetBits(GPIOB,GPIO_Pin_9);
//  Delay(100);
//  GPIO_SetBits(GPIOB,GPIO_Pin_8|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11);
//  GPIO_ResetBits(GPIOB,GPIO_Pin_10);
//  Delay(100);
//  GPIO_SetBits(GPIOB,GPIO_Pin_8|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11);
//  GPIO_ResetBits(GPIOB,GPIO_Pin_11);
//  Delay(100);
//  } 

    /********* 控制码 ********/
    while(1){
    temp=0x0100;
    for(i=0;i<4;i++){
            GPIO_SetBits(GPIOB,0xFFFF);
        GPIO_ResetBits(GPIOB,temp);
        Delay(1000);
        temp=temp<<1;
    }
    }
} 

GPIO_Pin_x和控制码之位操作思想

原文:https://www.cnblogs.com/RSheng16/p/12488754.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!