打印
[信息]

[资料] stm32f407的GPIO设置

[复制链接]
320|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
受到警告 楼主
两只袜子|  楼主 | 2021-3-19 09:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/**********基于库函数,正点原子的探索者开发板***************/

#include "STM32f4xx.h"
#include "stm32f4xx_gpio.h"
int main(void)
{
      
        /***½á¹¹Ì嶨Òå****/
   GPIO_InitTypeDef a;
   RCC_AHB1PeriphclockCmd(RCC_AHB1Periph_GPIOF, ENABLE);
         a.GPIO_Pin=GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_8;//ʧÄÜ10ºÍ9
         a.GPIO_Mode=GPIO_Mode_OUT;//ÉèÖÃΪÊä³öģʽ
         a.GPIO_Speed=GPIO_Speed_50MHz;  //   50MµÄÊä³öËÙ¶È
         a.GPIO_OType=GPIO_OType_PP;//ÍÆÍìÊä³ö
         a.GPIO_PuPd=GPIO_PuPd_UP;//ÉÏÀ²Êä³ö
   GPIO_Init(GPIOF,&a);
      
         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
         a.GPIO_Pin=GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;//ʧÄÜ10ºÍ9
         a.GPIO_Mode=GPIO_Mode_IN;//ÉèÖÃΪÊä³öģʽ
         a.GPIO_Speed=GPIO_Speed_50MHz;  //   50MµÄÊä³öËÙ¶È
         a.GPIO_PuPd=GPIO_PuPd_UP;//ÉÏÀ²Êä³ö
           GPIO_Init(GPIOE,&a);
      
         
                 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
//  a.GPIO_Pin=GPIO_Pin_0£»//ʧÄÜ10ºÍ9
        a.GPIO_Pin=GPIO_Pin_0;
           a.GPIO_Mode=GPIO_Mode_IN;//ÉèÖÃΪÊä³öģʽ
           a.GPIO_Speed=GPIO_Speed_50MHz;  //   50MµÄÊä³öËÙ¶È
           a.GPIO_PuPd=GPIO_PuPd_DOWN ;//ÉÏÀ²Êä³ö
           GPIO_Init(GPIOA,&a);
                 
                 
      
      
      
         GPIO_SetBits(GPIOF,GPIO_Pin_10|GPIO_Pin_9|GPIO_Pin_8);      
         while(1)
         {
    if(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2)==0)
              {
            GPIO_ResetBits(GPIOF,GPIO_Pin_9|GPIO_Pin_8);
                                    GPIO_SetBits(GPIOF,GPIO_Pin_10);
              }
                        
                             else if(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)==0)
               {
             GPIO_ResetBits(GPIOF,GPIO_Pin_10|GPIO_Pin_8);
                                     GPIO_SetBits(GPIOF,GPIO_Pin_9);
              }
                       
                             else if(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)==0)
                {
                 GPIO_ResetBits(GPIOF,GPIO_Pin_10|GPIO_Pin_8);
                                   GPIO_ResetBits(GPIOF,GPIO_Pin_9);
                 }
                                                        else if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==1)
                                                        {
                                                      
                                                                         GPIO_ResetBits(GPIOF,GPIO_Pin_10|GPIO_Pin_9);
                                                                                GPIO_SetBits(GPIOF,GPIO_Pin_8);
                                                        }
         }

}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2001

主题

7028

帖子

10

粉丝