社区导航

 

搜索
查看: 409|回复: 1

[原创] 【 ST NUCLEO-H743ZI测评】+ 3、按键输入

[复制链接]

23

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2020-5-14 23:16 | 显示全部楼层 |阅读模式

    在上篇点亮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论坛

回复

使用道具 举报

2402

TA的帖子

4

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-5-27 23:15 | 显示全部楼层

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


回复

使用道具 举报

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

关闭

站长推荐上一条 1/7 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-5-31 20:42 , Processed in 0.121400 second(s), 21 queries , Gzip On, MemCache On.

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