0
点赞
收藏
分享

微信扫一扫

STM32(X)单个按键输入

夹胡碰 2022-01-09 阅读 61

概述

  1. stm32内部有上拉和下拉电阻,所以不需要外接,只需要进行软件设置

支持连按的思路

传统51的思路

不支持连按的思路

设置标志位,只有在按键松开的时候标志位会进行更新

#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "led.h"
#include "key.h"
int keytime=0;
int key_up=1;
int  main (){

	delay_init();	    	 //延时函数初始化	  
	LED_Init();		  	//初始化与LED连接的硬件接口
	KEY_Init();
	uart_init(9600);
	while(1)
	{
		if(PBin(9)==1&&key_up==1){//按键是松开的 然后被按下
			delay_us(200);
			  if(PBin(9)==1){ // 按键依然是松开的 然后被按下
				  PAout(4)=~PAout(4); // led状态取反
					key_up = 0 ; // 此时按键是按下的
					keytime++;
				}
			}
		else if (PBin(9)==0 && key_up ==0 ){
			key_up = 1; //只有松开才会置位标志位
		}
		
		printf("%d",keytime);
		printf("-----");
		
	}
return 0;
}

举报

相关推荐

0 条评论