Új hozzászólás Aktív témák
-
válasz
don_peter
#4568
üzenetére
#define SOROK_SZAMA 4
#define NO_KEY 0
#define FIRST_ROW_BIT_POSITION 4
int oszlopok[] = { PORT_B4, PORT_B5, PORT_B6, PORT_B7 };
unsigned char get_key()
{
unsigned int i, k=0;
for( i=0; i < SOROK_SZAMA ; i++ )
{
SOROK = (1 >> ( FIRST_ROW_BIT_POSITION + i ) ); //Léptetjük a sorok szintjét
for ( j = 0 ; j < sizeof(oszlopok) ; j++ )
{
k++;
if(oszlopok[j] == MAGAS)
{
while( oszlopok[j] == MAGAS ); //Várakozunk a gomb felengedéséig
return k;
}
}
}
return NO_KEY;
}Vagyis az oszlopokat szepen tombbe lehet rakni, es akkor a ciklusbol tenylegesen ciklust lehet csinalni.
A k-t allitgato resznek semmi ertelme nem volt, mert csak arra allitotta, ami amugy is az erteke volt (illetve a vegen nullara, de azt meg nem hasznaltad sehol).
Es ha nem talal semmit, akkor nem ALACSONY-t adunk vissza, hanem valami sajat erteket, mert az logikailag ket kulonbozo dolog - akkor is, ha a konkret ertek pont ugyanaz (most - aztan lehet, hogy kesobb nem lesz az).
Illetve a kodba lehetoseg szerint nem illik mindenfele konstansokat elhinteni, ha valami konstans, akkor legyen az, C-ben tipikusan #DEFINE-nal.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen billentyűzetet vegyek?
- Fejhallgató erősítő és DAC topik
- Elfelejtettem a film címét
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Nem indul és mi a baja a gépemnek topik
- Mibe tegyem a megtakarításaimat?
- Vezetékes FEJhallgatók
- Teljes verziós játékok letöltése ingyen
- Formula-1 humoros
- E-book olvasók
- További aktív témák...
- Gigabyte Geforce RTX 3090 Eagle OC
- Budget Gamer - i5 7600 / GTX 1070 8GB / 16GB DDR4 / 512GB SSD
- Eladó Apple Watch SE 2 Rose Gold
- Bomba ár! Lenovo ThinkPad L13 G3 - i5-1245U I 16GB I 256SSD I 13,3" WUXGA I Cam I W11 I Garancia!
- Bomba ár! Fujitsu LifeBook U904 - i5-4G I 10GB I 500GB I 14" QHD+ I Cam I W10 I Gari!
- LG UltraGear 39GS95QE-B OLED Monitor! 39" 3440x1440 / 240Hz / 0.03ms / G-Sync / FreeSync! BeszámítOK
- Akció! Apple iMac 19.2 i5-8500 Radeon Pro 560X 4GB 16GB 256GB SSD 21.5" 4K Retina
- Dell Latitude Precision Üzleti gépek, 2-in-1 gépek, 3-11. gen.
- LG UltraGear 32GQ85X-B LED IPS Monitor! 2560x1440 / 240Hz / 1ms / FreeSync / G-Sync
- AKCIÓ! 4TB Corsair MP600 Pro XT NVMe SSD meghajtó garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
