790|1

25

帖子

0

资源

一粒金砂(中级)

【 ST NUCLEO-H743ZI测评】+ 3、按键输入 [复制链接]

    在上篇点亮LED灯的基础上,增加检测按键输入。按键按下后,LED流水灯点亮,按键松开后,停止LED流水灯。

 

    一、硬件电路图

    1.1、按键部分电路图

    按键对应的输入端口是PC13。

     04.png

 

    二、程序部分

 

    2.1、main.c

int main(void)
{

  CPU_CACHE_Enable();
  HAL_Init();
  SystemClock_Config();
	LED_Init();
	KEY_Init();
  while (1)
  {
		if(KEY_Scan()!=0)
		{
			led1_tog();
			HAL_Delay(100);
			led2_tog();
			HAL_Delay(100);
			led3_tog();
			HAL_Delay(100);
		}
		
  }
}

    2.2、key.c

#include "config.h"

void KEY_Init(void)
{
	GPIO_InitTypeDef  gpio_init_structure;
	__HAL_RCC_GPIOC_CLK_ENABLE();

	
	gpio_init_structure.Pin   = GPIO_PIN_13;
	gpio_init_structure.Mode  = GPIO_MODE_INPUT;
	gpio_init_structure.Pull  = GPIO_NOPULL;
	HAL_GPIO_Init(GPIOC, &gpio_init_structure);
	
}

uint8_t KEY_Scan(void)
{
	uint8_t ky=0;
	ky=HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13);
	if(ky==1)
	{
		HAL_Delay(5);
		ky=HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13);
		if(ky==1)
		{
			return 1;
		}
	}
	return 0;
	
}

    2.3、key.h

#ifndef __KEY_H
#define __KEY_H

void KEY_Init(void);
uint8_t KEY_Scan(void);

#endif 

 

此帖出自stm32/stm8论坛

回复

2623

帖子

4

资源

版主

框图和代码都可以参考,有没有备注一些使用方法呢,比如接线和实际电脑上显示的界面


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

最新文章 更多>>
    关闭
    站长推荐上一条 1/4 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表