久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
STM32矩陣鍵盤出現(xiàn)問題,無法檢測鍵位,可是邏輯上沒有什么問題啊
[打印本頁]
作者:
lliuxin88
時(shí)間:
2016-10-24 13:25
標(biāo)題:
STM32矩陣鍵盤出現(xiàn)問題,無法檢測鍵位,可是邏輯上沒有什么問題啊
本帖最后由 lliuxin88 于 2016-10-24 14:29 編輯
#include "stm32f10x.h"
#include "keyscan.h"
#include"stm32f10x_rcc.h"
#include"stm32f10x_gpio.h"
#include"systick.h"
/**********************************************************
****************** 配置GPIO輸出口**************************
**********************************************************/
void keyscan_OUTInit(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //通用接口配置
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD ,ENABLE); //初始化PD引腳時(shí)鐘
GPIO_InitStructure.GPIO_Pin = JPA|JPB|JPC; // 按鍵檢測
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_Init(GPIOD, &GPIO_InitStructure);
}
/**********************************************************
****************** 配置GPIO輸入口**************************
**********************************************************/
void keyscan_INInit(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //通用接口配置
//RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD ,ENABLE); //初始化PD引腳時(shí)鐘
GPIO_InitStructure.GPIO_Pin = JPD|JPE|JPF|JPG; // 按鍵檢測
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //上拉輸入
GPIO_Init(GPIOD, &GPIO_InitStructure);
}
/**********************************************************
****************** 配置LED GPIO輸出口*********************
**********************************************************/
void LED_GPIOInit(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //通用接口配置
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //初始化PB引腳時(shí)鐘
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7; // 按鍵檢測
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
/**********************************************************
********************* 鍵盤檢測*****************************
**********************************************************/
void key_scan(void)
{
uint8_t KEY=0;
keyscan_INInit();
keyscan_OUTInit();
LED_GPIOInit();
SysTick_Init();
GPIO_SetBits(GPIOB, GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);
/************************檢測第一行********************************************/
GPIO_Write(GPIOD,GPIOD->ODR|0xfeff); //置低JPA
if((GPIOD->IDR&0x7800)!=0x7800)
{
Delay_ms(20); //sysTick 延時(shí)子程序(去抖程序)20ms
if((GPIOD->IDR&0x7800)!=0x7800)
{
//KEY=0;
switch (GPIOD->IDR&0x7800){
case 0x7000:
KEY=3;
break;
case 0x6800:
KEY=6;
break;
case 0x5800:
KEY=9;
break;
case 0x3800:
KEY='#';
break;
default:
break;
}
while((GPIOD->IDR&0x7800)!=0x7800){ //等待鍵盤釋放
GPIOD->IDR&=0x7800;
}
if(KEY==3)
GPIO_ResetBits(GPIOB, GPIO_Pin_7); //燈亮
}
}
keyscan_INInit();
keyscan_OUTInit();
LED_GPIOInit();
/************************檢測第二行******************************************/
//Delay_ms(2);
GPIO_Write(GPIOD,GPIOD->ODR|0xfdff); //置低JPB
if((GPIOD->IDR&0x7800)!=0x7800)
{
Delay_ms(20); //sysTick 延時(shí)子程序(去抖程序)20ms
if((GPIOD->IDR&0x7800)!=0x7800)
{
//KEY=0;
switch (GPIOD->IDR&0x7800){
case 0x7000:
KEY=2;
break;
case 0x6800:
KEY=5;
break;
case 0x5800:
KEY=8;
break;
case 0x3800:
KEY=0;
break;
default:
break;
}
while((GPIOD->IDR&0x7800)!=0x780000){ //等待鍵盤釋放
GPIOD->IDR&=0x7800;
}
if(KEY==2)
GPIO_ResetBits(GPIOB, GPIO_Pin_6); //燈亮
}
}
keyscan_INInit();
keyscan_OUTInit();
LED_GPIOInit();
/************************檢測第三行******************************************/
//Delay_ms(2);
GPIO_Write(GPIOD,GPIOD->ODR|0xfbff); ////置低JPC
if((GPIOD->IDR&0x7800)!=0x7800)
{
Delay_ms(20); //sysTick 延時(shí)子程序(去抖程序) 20ms
if((GPIOD->IDR&0x7800)!=0x7800)
{
//KEY=0;
switch (GPIOD->IDR&0x7800)
{
case 0x7000:
KEY=1;
break;
case 0x6800:
KEY=4;
break;
case 0x5800:
KEY=7;
break;
case 0x3800:
KEY='*';
break;
default:
break;
}
while(GPIOD->IDR&0x7800!=0x7800){ //等待鍵盤釋放
GPIOD->IDR&=0x7800;
}
if(KEY==1)
GPIO_ResetBits(GPIOB, GPIO_Pin_5); //燈亮
}
}
}
JP.zip
2016-10-24 14:29 上傳
點(diǎn)擊文件名下載附件
38.11 KB, 下載次數(shù): 10
作者:
lliuxin88
時(shí)間:
2016-10-24 13:26
希望大神們能指導(dǎo)指導(dǎo)
作者:
lliuxin88
時(shí)間:
2016-10-24 14:29
原理圖見附件
作者:
paomall
時(shí)間:
2017-7-26 10:57
看你的原理圖怎么有些地方有節(jié)點(diǎn)有些地方?jīng)]有啊
是不是原理圖有問題
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
精品欧美一区二区三区久久久
|
亚洲爱爱网
|
日韩欧美大片
|
一区二区精品视频
|
国产激情视频在线
|
国产亚洲欧美日韩高清
|
国产三级久久
|
一级片av
|
日韩特黄
|
亚洲乱色
|
国产视频福利
|
婷婷狠狠爱
|
国产欧美日韩在线
|
青青草久草
|
亚洲成人精品
|
国产精品99精品久久免费
|
午夜精品久久久久久久99黑人
|
天堂中文在线视频
|
免费成人结看片
|
xxxxx黄色
|
欧美人与性动交α欧美精品
|
免费网站观看www在线观
|
久久九
|
欧美午夜精品久久久久免费视
|
欧美在线综合
|
欧美日韩一区二区三区视频
|
亚洲成a人片
|
国产中文字幕一区二区
|
中文字幕有码在线
|
伊人久久精品视频
|
午夜两性
|
成人免费在线观看网站
|
玖草视频
|
国产成人在线观看免费网站
|
av免费观看网址
|
亚洲精品免费在线
|
999在线视频
|
中文字字幕
|
日本视频免费观看
|
欧美在线观看一区
|
日韩8x8x
|