OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3509|回复: 0

GPIO_ReadInputDataBit() 初始化

[复制链接]

2

主题

5

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2020-11-11
在线时间
1 小时
发表于 2020-11-11 15:31:43 | 显示全部楼层 |阅读模式
1金钱
求教:PA1上接外接TPAD,为何初始化后不能正常,不初始化反而正常?程序如下#include<stm32f10x.h>
#define D2_ON GPIO_ResetBits(GPIOB,GPIO_Pin_5)        //LED_R.PB5
#define D2_OFF GPIO_SetBits(GPIOB,GPIO_Pin_5)

#define LIMIT_LOW GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==0        //T-PAD.PA1
#define LIMIT_HIGH GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==1

void LEDKEY_GPIO_Config(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);
       
        GPIO_InitStructure.GPIO_Pin= GPIO_Pin_5;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB,&GPIO_InitStructure);
       
        GPIO_SetBits(GPIOB,GPIO_Pin_5);
       
//        GPIO_InitStructure.GPIO_Pin= GPIO_Pin_1;
//  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
//        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
//        GPIO_Init(GPIOA,&GPIO_InitStructure);
}
void delay_nms(u16 t)
{
        u16 i=0;
        while(t--)
        {
                i=12000;
                while(i--);
        }
}
int main(void)
{

        SystemInit();
        LEDKEY_GPIO_Config();
        while(1)
        {
                if(LIMIT_LOW)
                        {
                                D2_ON;
                                delay_nms(1000);
                        }
                else
                                D2_OFF;
                                               
        }
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 23:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表