2014-02-17 55 views
0

我开发了微控制器的键盘的c驱动程序。我想改变它,以便当我按下1时,例如,它会显示1,直到我按另一个数字。到目前为止,只有当我按下数字后,数字才会发生变化,这意味着一旦释放键盘上的按钮,数字就会消失。请给我一个关于如何去实现我想要的改变的总体想法。微控制器的键盘扫描

+1

有趣的是,你设法开发键盘扫描例程,但与这个相对容易的变化斗争。 –

回答

2

当您将变量更改为新的键值时,将上次按下的键存储在您“显示”(或做任何您想要的操作)的变量中,直到按下下一个键。

+0

是否有一个通用算法?截至目前,我有一个keyUp函数,它保持循环,直到没有按键被按下。 – user3318660

+0

@ user3318660你可以更新一些代码,以便于理解 – Swanand

1

您应该创建一个变量来保存按下的键值,然后在点击某个按钮(键)时更新屏幕。假设你有一个名为getPressedKey()的函数,它返回一个被按下的键的数值,这就是你如何实现一个片段来根据按下的键来更新屏幕。

char pressedKey = 0; 
    /* 
    *loop endlessly 
    *wait for keypress 
    *update screen with with pressed key value 
    */ 
    while(1) 
    { 
    pressedKey = getPressedKey(); //store pressed key in pressedKey variable 
    updateDisplay("Pressed key is %c",pressedKey); // display key value 
    }