易配网 - 手机资讯、时事新闻、网络资料
你的位置:易配网 > 新闻 > 28335 矩阵相乘_

28335 矩阵相乘”相关资讯


28335 矩阵相乘_:...

关于DSP28335的3X3矩阵键盘扫描程序的问题!

以下是我的编写的程序,采用的就是简单的行扫描法,列线接地,行线发出高电平,如果有键按下则列线变高。我感觉写的没有问题。为什么总是输出不正常???? #include "DSP28x_Project.h" unsigned int Key_Scan(void); int check(void); #define L... 以下是我的编写的程序,采用的就是简单的行扫描法,列线接地,行线发出高电平,如果有键按下则列线变高。我感觉写的没有问题。为什么总是输出不正常????

#include "DSP28x_Project.h"

unsigned int Key_Scan(void);
int check(void);

#define L1 GpioDataRegs.GPBDAT.bit.GPIO34
#define L2 GpioDataRegs.GPBDAT.bit.GPIO35
#define L3 GpioDataRegs.GPBDAT.bit.GPIO37 //定义40,42,44管脚状态为 列1,2,3;

#define H1 GpioDataRegs.GPBDAT.bit.GPIO41
#define H2 GpioDataRegs.GPBDAT.bit.GPIO43
#define H3 GpioDataRegs.GPBDAT.bit.GPIO45 //定义46,80,82管脚状态为 行1,2,3;

unsigned int Key_Scan(void) //行扫描法
{
H1=1;H2=1;H3=1;
int Key_code=0;
if(L1|| L2|| L3)
{
DELAY_US(100000L); //消抖延时
if(L1 || L2 || L3)
{
H1=1;H2=0;H3=0; //第一行为高,其余为低,检测
DELAY_US(1);
if(L1 || L2 ||L3)
{Key_code=check();}
H2=1;H1=0;H3=0; //第二行为高,其余为低
DELAY_US(1);
if(L1 || L2 ||L3)
{Key_code=check()+3;}
H3=1;H1=0;H2=0;
DELAY_US(1);
if(L1||L2||L3)
{Key_code=check()+6;}
}
else
Key_code=0;
}
end:return Key_code;
}

int check(void)
{
if(L1)
return 1;
else if(L2)
return 2;
else if(L3)
return 3;
else
return 0;
}

主程序中这样:
key=Key_Scan();
LCD12864_SetPos(2,0);
Disp_HZ("输入键码为:");
Disp_SZ(key); //显示
求大神解答,不胜感激
本文出自 易配网 www.yiper.cn
手机大全
手机型号
  • 本文来自: 易配网,转载请保留出处!
  • 本文链接: 28335 矩阵相乘_