打印

按键控制led灯没有反应,帮我看看按键程序有什么问题

[复制链接]
479|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
丑帅丑帅的|  楼主 | 2020-4-26 13:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//============================
//主程序
//led-> PA8
//===========================
#include "stm32f10x.h"
#include "key.h"
#include "led.h"
//===========================
int main(void)
{
        
        LED_GPIO_Config();
        KEY_GPIO_Config();
        while(1)                           
        {           
                if( Key_Sacn() == 1 )
                {
                        GPIO_ResetBits(GPIOA,GPIO_Pin_8);        
                }
                else GPIO_SetBits(GPIOA,GPIO_Pin_8);        
        }
}

//============================
//key.c
//=============================
/*按键驱动程序*/
/*KEY1 -> PC13 低电平有效*/
//======================
#include "key.h"
//=================================================================
void KEY_GPIO_Config(void)
{
        /* 定义GPIO初始化结构体 */
        GPIO_InitTypeDef GPIO_InitStruct;
        
        /*打开外设时钟*/
        RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOC , ENABLE);
        
        /* 配置GIPO相关外设结构体 */
        GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13;
        GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;    //上拉输入
        GPIO_Init(GPIOC,&GPIO_InitStruct);             //GPIOC 初始化
}
//===============================================================
int Key_Sacn()
{
        static int num = 0;
        if(key == 0)
        {
                while(key == 0);
                num++;
        }
        if(num!=0&&num%2==1) return 1;
        else return 0;
}

//led程序没有问题,请问我的按键 检测程序有问题吗,

使用特权

评论回复

相关帖子

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

本版积分规则

741

主题

742

帖子

0

粉丝