- ricshard444: Fényképező ? Telefon helyett
- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- M0ng00se: Hardvert áruhitelre?
- eBay-es kütyük kis pénzért
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- amanoba: Zakuszkarecept Puskás Csabától, a Borkonyha Étterem head séfjétől
- bitpork: MOD Júni 28- Augusztus 2- szombat jelen állás szerint.
Új hozzászólás Aktív témák
-
Domonkos
addikt
Learning the DATAHAND SYSTEM Makes You a Winner!
A billentyuk allapotat beolvasni egyszeru:
static void
read_keyboard(void)
{
keys_down = 0;
for (uint8_t row = 0; row < N_ROWS; row++) {
const uint8_t b = read_row(row);
const uint64_t b64 = b;
const uint8_t offset = row * N_COLUMNS;
keys_down |= b64 << offset;
}
}Ennek a fuggvenynek a celja az az, hogy a
keys_down
valtozo erteket egy olyan allapotba hozza, ami a billentyuzet billentyuinek tenyleges allapotanak megfeleltetheto. A kesobb meghivott fuggvenyek ennek a valtozonak az erteke alapjan fognak mukodni.A billentyuk azok vagy lenyomva, vagy felengedve vannak - egyszerre a ket allapot egyikeben - szoval azok reprezentalasahoz egy-egy bit is elegendo.
Korabban kideritettuk, hogy a billentyuzet matrixa az 14x2-es mindket oldalon. - bar oldalankent csak 26 billentyuvel - Hogy ezt mind beolvassuk, vegig kell iteralnunk az osszes soron, es soronkent ket-ket billentyut (vagy 4-et, ha a ket felet egyszerre olvassuk) kell elraknunk a valtozoba.
Mivel egy sor beolvasasa onmagaban egy kulon lepesnek tekintheto, ezert azt kiszerveztem egy kulon fuggvenybe.
Szoval ha megelolegezzuk, hogy aread_row()
fuggveny helyes erteket ad vissza, akkor nincs mas dolgunk, mint azt a billentyuzet poziciojanak megfelelo helyre "tolni" akeys_down
valtozoba.
A fenti kod pont ezt teszi.Magat a valtozot pedig definialhatjuk a megfelelo scope-ban mondjuk igy:
typedef uint64_t kb_state_t;
kb_state_t keys_down = 0;
#if ( N_KEYS > 64 )
#error "Too many keys on the keyboard"
#endifKenyelmes, mert nincs 64 billentyunel tobb billentyunk. Mondjuk kinek is kellhet annyi?
Új hozzászólás Aktív témák
- Érkezik az OpenAI saját böngészője
- Telekom mobilszolgáltatások
- Mibe tegyem a megtakarításaimat?
- Gumi és felni topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Kiszivárgott a Pixel 10 Pro
- Tesla topik
- A fociról könnyedén, egy baráti társaságban
- Ideiglenesen leállította az Xperia 1 VII értékesítését Japánban a Sony
- Tőzsde és gazdaság
- További aktív témák...
- Apple 20W adapter gyári!!!! Bontatlan!
- Lenovo Thinkpad x13 i7-10610U 32GB RAM 512SSD Érintőkijelző
- Garancia! GAMER PC! Ryzen 5600X / RTX 3070 / B550 / 32GB 3200MHz /1Tb + 512Gb NVMe / 600w!
- iPhone SE2 64GB fekete, gyönyörű újszerű állapotban, 3db van, 85% 92% és 100% akkuval
- iPhone SE2 64GB 82% piros, saját dobozzal
- Olcsó Laptop! Új akkumulátor! Dell Latitude E6540 : I7 4600M / AMD HD8790M / 8GB DDR3 / 128GB SSD
- PlayStation Plus Premium előfizetés 3291 Ft / hó áron!
- Új monitor állvány - csak össze lett szerelve
- Telefon felvásárlás!! Apple iPhone SE (2016), Apple iPhone SE2 (2020), Apple iPhone SE3 (2022)
- Apple Macbook Pro 13 2020 - M1 - 8GB/256GB SSD - Touch Bar - 102 Ciklus - 99% Akku - Ezüst - MAGYAR
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest