27,512
社区成员




unsigned char keynum;
unsigned char temp; //定义中间缓冲变量temp
void main()
{
timer0_init(); //定时器初始化
while(1)
{
keynum=key();
if(keynum)temp=keynum;
nixie(1,temp);
}
}
各位大佬,上面是江科大定时器扫描按键课程主程序中的一段代码,我有一个问题:
1、为什么要定义一个中间缓冲变量temp?直接如下表示不可以吗?
keynum=key();
if(keynum)nixie(1,keynum);
矩阵按键扫描有按下和无按下都会返回一个值,当判断返回值是有按下就要保存,否则很快被后面释放值覆盖。