电子产业一站式赋能平台

PCB联盟网

搜索
查看: 1952|回复: 1
收起左侧

[作业已审核] GPIO_ReadPin

[复制链接]

22

主题

230

帖子

1308

积分

三级会员

Rank: 3Rank: 3

积分
1308
发表于 2021-5-1 20:03:28 | 显示全部楼层 |阅读模式
while (1)
  {
    switch(step)
    {
    case 0:
    {
    if(HAL_GPIO_ReadPin(KEY_GPIO_Port,KEY_Pin)==GPIO_PIN_RESET)
    {
    for(uint32_t i=0;i<10000;i++);
    if(HAL_GPIO_ReadPin(KEY_GPIO_Port,KEY_Pin)==GPIO_PIN_RESET)
    {
    printf("按键按下\n");
    step=1;
    }
    }
    }
    break;

    case 1:
    {
    if(HAL_GPIO_ReadPin(KEY_GPIO_Port,KEY_Pin)==GPIO_PIN_SET)
    {
    printf("按键释放\n");
    step=0;
    }
    }
    break;
    }

老师,以上代码,运行起来后,自动的无限次printf”按键按下“和”按键释放“,可排除硬件问题,因为我用例程代码试过了

回复

使用道具 举报

24

主题

355

帖子

1677

积分

版主

Rank: 3Rank: 3

积分
1677
QQ
发表于 2021-5-6 09:08:37 | 显示全部楼层
进过班内同学试验验证,看来就是cuebeMX配置IO输入时,未设置内部上拉,且外部电路也未设置上拉电路
回复 支持 反对

使用道具 举报

发表回复

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

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表