čau, potřebuji kontrolovat výstupy ze snímačů a tím že smí být aktivní nanejvýš jeden a udělal sem si v Atmel studiu funkci pro čtení a zpracování logických úrovní, když je na portu A víc než jedna jednička, else má spustit TIMER1, kde je generátor obdélníku pro rozdrnčení piezoměniče + otočit výstupy PB0/1. Bohužel však jak je vidět ze simulace, tak i přesto, že na portu A je přítomna jedna vysoká úroveň což odpovídá podmínce if, bylo to vyhodnoceno jako nesplnění a na výstup se dostal obsah else což mi hlava nebere. Neměl by prosím někdo typ co by za tím mohlo být? Přikládám program a simulaci
Fórum › Mikrokontroléry
Mega8 a podmínka if
Toto vlákno bylo označeno za vyřešené.
zajimave, cetl jsem mega8 a najednou je na obrazku mega16
a jak jsou definovane ty PINA0-PINA7?
#define PINA0 0
No proste proste se ti aspon ta hnusna podminka zjednodussila na nejakou konstantu .. s velkou pravdepodobnosti 0
+ da se to vyresit elegantneji ... nactes celej unsigned char pa = PINA; a jednoduchym vypoctem pa & (pa -1) == 0 zjistis jestli je to mocnina dvojky (pokud neni, tak je vysledek nenulovy)
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 10 hostů
Podobná vlákna
MEGA8 UART prerušení — založil johnny
PWM MEGA8-16PU 1MHz Help — založil Tadeáš
Mega8 UART prijem string — založil TD
ADC Mega8 vratenie hodnoty (C) — založil Teddy
ADC Mega8 čitanie viacerich dohnot — založil TD
Moderátoři diskuze