キーパッド制御とSTM32は、LED点滅します

新しいプロジェクトのハードウェアフォルダの下に、新しいフォルダを作成し、キーフォルダがそれぞれ主導し、新しいled.cのkey.cは、適切なフォルダに保存されています。
ここに画像を挿入説明
[保存led.hとkey.hに二つの新しいテキストが保存され、キーフォルダを導きました。
keil5は、それぞれのヘッダ(追加、.Cファイルを追加した
.hファイル)を
プログラミングを開始するために
LED部を:

コアコード内部led.h。

#define LED0 PAout(6)	// DS0,定义LED0的IO口,PAout(6)指 GPIOA_Pin_6 输出模式
#define LED1 PAout(7)	// DS1	 

void LED_Init(void);//初始化	

初期設定はIOポートを率い:
周辺機器の多くは、このようなGPIOピンを設定すると、次のような初期化GPIOをしている、モード、スピード、otypeは、ドロップダウン

void LED_Init(void)
{    	 
  GPIO_InitTypeDef  GPIO_InitStructure;

  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);//使能GPIOA的时钟,首要操作!!
  
 //GPIOA6,A7的初始化
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;//位置
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//模式,这里是输出模式
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//输出模式,这里是推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//选择上拉
  GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIO
	
	GPIO_ResetBits(GPIOA,GPIO_Pin_6| GPIO_Pin_7);//设置初始状态,这里是setbits,设置低电平,即灯亮。

}

KEY部分:
key.hコアコード:

#define key0 PEin(4)     //定义IO口
#define key1 PEin(3) 
void key_init(void);     //初始化按键
void KEY_Scan(void);	 //初始化按键扫描函数

初始化按键IO 口的固定模式。

oid key_init(void)
	
{
	GPIO_InitTypeDef  GPIO_InitStructure;

  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4| GPIO_Pin_3;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//注意按键是输入模式
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  GPIO_Init(GPIOE, &GPIO_InitStructure);
	
	

非常にシンプルなワンボタンスキャン機能、STM32のキーは、2つのモード、ダブルクリックのサポートを提供し、サポートしていない私が知って取得していない選択したモードをダブルクリックします。

void KEY_Scan(void)
 {
		if(key0 == 0)
		{
				delay_ms(5);//消抖
				if(key0==0)
				{
					 LED0 =~LED0;
				   LED1 =~LED1;
				}
		}
 }

主な機能部品:

int main(void)
{ 
 
	delay_init(168);		
	LED_Init();	
    key_init();	
	while(1)
	{
     	KEY_Scan();
    }

省略この記事では、読者がそれ自身のを追加し、いくつかのヘッダファイルを宣言します!

リリース元の2件の記事 ウォンの賞賛0 ビュー87

おすすめ

転載: blog.csdn.net/lllllllllljg/article/details/104037170