read.c
来自「Source code for driving RFM01 fm radio r」· C语言 代码 · 共 58 行
C
58 行
#include "../kbd.h"
u08 KBD_key; //zmienna przechowuj筩a kod ostatnio przyci渘i阾ego klawisza
/*
Funkcja pomocnicza (odczyt kolumny)
*/
u08 _KBD_readcol(u08 col)
{
register u08 c=0;
if (KBD_row1) c=col; else
if (KBD_row2) c=col+1; else
if (KBD_row3) c=col+2; else
if (KBD_row4) c=col+3;
return(c);
}
/*
Odczyt klawiatury
*/
u08 KBD_read(void)
{
register u08 k;
// ustawienie rz阣體 na odczyt
cbi(KBD_PORT_D_row1,KBD_BIT_row1);
cbi(KBD_PORT_D_row2,KBD_BIT_row2);
cbi(KBD_PORT_D_row3,KBD_BIT_row3);
cbi(KBD_PORT_D_row4,KBD_BIT_row4);
// za彻czenie rezystor體 podci筭aj筩ych na liniach rz阣體
sbi(KBD_PORT_row1,KBD_BIT_row1);
sbi(KBD_PORT_row2,KBD_BIT_row2);
sbi(KBD_PORT_row3,KBD_BIT_row3);
sbi(KBD_PORT_row4,KBD_BIT_row4);
KBD_key=0;
KBD_col1_0;
k=_KBD_readcol(1);
if (k>0)
KBD_key=k;
KBD_col1_1;
KBD_col2_0;
k=_KBD_readcol(2);
if (k>0)
KBD_key=3+k;
KBD_col2_1;
KBD_col3_0;
k=_KBD_readcol(3);
if (k>0)
KBD_key=6+k;
KBD_col3_1;
KBD_col4_0;
k=_KBD_readcol(4);
if (k>0)
KBD_key=9+k;
KBD_col4_1;
return(KBD_key);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?