OpenEdv-开源电子网

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

四个按键,接PA口的两个可用,接PB口的两个不能用。

[复制链接]

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2015-9-22
在线时间
15 小时
发表于 2020-11-4 16:14:58 | 显示全部楼层 |阅读模式
1金钱
我用STM32F103的片子,基本上复制的原子哥的库函数例程,其中有用到四个短路插针,不加短路帽时为高电平,加上短路帽为低电平,其中接PA口的两个可用,接PB口的两个不能用,一直不能识别,网学不久,哪位大哥帮忙看看是哪里的问题。
初始化程序如下:
unsigned char ucKey_value=0;  //按键键值

//按键初始化函数
//PA11,PA12和PB13,PB14设置成输入
void KEY_Init(void)
{
        GPIO_InitTypeDef        GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE);//使能PORTA,PORTB时钟
        GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);//开启SWD,失能JTAG
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_12;                //IC2=PA11,IC3=PA12
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;        //将IC2设置成内部上拉输入
        GPIO_Init(GPIOA,&GPIO_InitStructure);                        //初始化GPIOA11,GPIOA12
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14;                //IC4=PB13,IC5=PB14
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;        //将IC4设置成内部上拉输入
        GPIO_Init(GPIOB,&GPIO_InitStructure);                        //初始化GPIOB13,GPIOB14
}

//处理函数
void KEY_Scan(void)
{       
        if(IC2==0||IC3==0||IC4==0||IC5==0)        //有插针被短路帽短路
        {
                delay_ms(10);        //去抖

                if(IC2==0)                        ucKey_value=1;                //
                else if(IC3==0)            ucKey_value=2;                //
                else if(IC4==0)            ucKey_value=3;                //
        else if(IC5==0)            ucKey_value=4;                //
        }
        else if((IC2==1)&&(IC3==1)&&(IC4==1)&&(IC5==1))            ucKey_value=0;
}


现在的问题就是我短路IC2,IC3这两个接到PA口上的插针时,ucKey_value值是正常的,但是短路IC4,IC5这两个接到PB口上的插针(万用表测量引脚已经为低电平)时,ucKey_value值不变,一直为0,大家帮忙看是是哪里出错了?

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

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2015-9-22
在线时间
15 小时
 楼主| 发表于 2020-11-4 16:17:21 | 显示全部楼层
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2015-9-22
在线时间
15 小时
 楼主| 发表于 2020-11-4 16:22:36 | 显示全部楼层
#define IC2 PAin(11)          
#define IC3 PAin(12)
#define IC4 PBin(13)
#define IC5 PBin(14)
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2015-9-22
在线时间
15 小时
 楼主| 发表于 2020-11-5 13:22:24 | 显示全部楼层
顶下,帮我看看
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2015-9-22
在线时间
15 小时
 楼主| 发表于 2020-11-6 13:03:22 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

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

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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