LED5W napisał: W tym drugim (niedziałającym) programie nie ma flagi. przekazuję tylko dane w 2 zmiennych.
no i masz co masz - przez akurat takie przekazywanie, przecież efekt sam widzisz
LED5W napisał: Nawiasem to tam w Twoim przykładzie powinno być bit zamiast byte.
Może być Bit ale nie musi - ja zawsze stosuję Byte bo czasem u mnie flaga może przybrać inne wartości niż 0 albo 1 dzięki czemu jedna flaga może mi służyć do różnych celów
LED5W napisał: Więc jak wg Ciebie powinien wyglądać program gł.?
no sorki ale nie mam tyle czasu teraz żeby aż tak dogłębnie analizować, powiem tylko tyle, że gdy w tym twoim przerwaniu wykryjesz już to, że "zobaczyłeś" odbitą wiązkę IR to, to byłoby moim zdarzeniem, które ustawiłoby flagę na 1, natomiast w pętli głównej gdy flaga = 1 poinformowałbym o tym na wyświetlaczu ale nie przez wyświetlenie samego napisu bo on na nim by pozostał wciąż taki sam, a jego kasowanie by nie pomogło, więc zrobiłbym jakąś zmienną licznikową, która zwiększałaby się o 1 po wystąpieniu zdarzenia i wyświetlałaby się wraz z napisem informującym, że zauważono odbicie nr: x
(ten x by się zwiększał)
LED5W napisał:
mirekk36 napisał: Można jeszcze robić modyfikację bo czasem istotne jest aby w trakcie obsługi zdarzenia w pętli głównej - nie było obsługiwane kolejne zdarzenie aż skończy się jego obsługa.
Ale tu raczej się nie przyda. Tak?
to zależy - od tego co będziesz chciał uzyskać i jak zbadać to swoje zjawisko.
LED5W napisał: A jak już to nie lepiej dać w programie gł. disable timerx?
pisałem , że można to rozwiązać na milion różnych sposobów jednym z nich jest włączanie wyłączanie przerwania, ale znowu wszystko zależy od tego co chcesz uzyskać, bo czasem wykonanie programu odbługi przerwania może być istotne a flaga może wstrzymać tylko fragment tegoż podprogramu (na czas obsługi zdarzenia w pętli głównej) .... wszystko zależy od potrzeb i inwencji twórczej
LED5W napisał:
mirekk36 napisał: na tym etapie nauki bascoma narazie zapomnij o NOSAVE.
W pustej pętli raczej nie zaszkodzi.
jeśli masz tylko pustą pętlę i
tylko jeden podprogram do obsługi tylko jednego przerwania to oczywiście że nie zaszkodzi NOSAVE ale ja nie powiedziałbym, że nie zaszkodzi tylko, że to jest bez sensu.
dlatego też na podstawie powyższego, proponuję ci poćwiczyć takie różne warianty pracy z flagami bo tak mi się coś wydaje, że stwierdzenie:
LED5W napisał: Ten mechanizm znam.
nie jest jednak do końca prawdziwe (bez urazy)