tomek napisał(a):
Nie znalazłem jak na razie ani w książkach Mirka
To znaczy, że kolega albo czytał książkę na wyrywki ... tak mi to wygląda gdy słyszę takie rzeczy ... i broń Boże nie mówię tego złośliwie- zaraz coś ci podpowiem, albo może przeczytałeś tylko kilka rozdziałów .... i to jest najczęstszy błąd początkujących , którzy później piszą, że nie mogą nic zrozumieć z tej książki ...
tomek napisał(a):
To na początek np. pytanie : czy pisząc obsługę przerwania ISR( coś tam ... ) funkcję obsługi przerwania traktujemy jak każdą normalną funkcję czyli definiujemy ... deklarujemy i umieszczamy wywołanie w main ... czy wystarczy ją zdefiniować i zostawić w liście definicji funkcji np. za main .. ?
Panie, panie - zanim na drugi raz się denerwować
tomek napisał(a):
ciągłe kłopoty z odpalaniem programów czy też błędami które nie zawsze są dla mnie logiczne zaczynają mnie powoli denerwować
to:
1. przeczytaj, że od deski do deski chociażby rozdział o multipleksowaniu wyświetlaczy LED ...
2. przeczytaj o podziale projektu na pliki - jest to akurat w tej książce ślicznie opisane i to nie jest moja opinia, żebym się tym tu chwalił, to opinia setek czytelników - czytałeś ten rozdział
3. i na koniec - bo aż mnie zamurowało, jak napisałeś wyżej, że w BB nic nie znalazłeś na ten temat - bo pomijając już ten rozdział o multipleksowaniu LED ... to masz kurka wodna rozdział
"WSTĘP DO SYSTEMÓW CZASU RZECZYWISTEGO"
- kurczę to właśnie tu położyłem duży nacisk żeby pokazać jak w jednym projekcie pokazać obsługę wielu modułów naraz, czyli
a.) obsługa IR
b.) obsługa UART - terminal
c.) obsługa LCD
d.) multipleksowanie LED
e.) obsługa temperatury DS18B20
i inne ... jak to razem spiąć ... itd .... a ty piszesz, że nie ma tego w książce .... sorki - no muszę na takie stwierdzenia zareagować bo opowiadasz bajki - dla innych, którzy być może chcieliby sięgnąć po tę książkę
pytasz wciąż:
tomek napisał(a):
czy pisząc obsługę przerwania ISR( coś tam ... ) funkcję obsługi przerwania traktujemy jak każdą normalną funkcję czyli definiujemy ... deklarujemy i umieszczamy wywołanie w main ... czy wystarczy ją zdefiniować i zostawić w liście definicji funkcji np. za main .. ?
Kurczę - czytając całą książkę JEDEN RAZ - po kolei od początku do końca - masz na to odpowiedź .... po tym pytaniu stwierdzeniu, mogę się wręcz założyć - że ANI RAZU nie przeczytałeś książki RAZ w całości od początku do końca.
A gdy mówię aby ją chociaż JEDEN RAZ przeczytać od początku do końca to nie mam na myśli tego, że NAGLE po tym jednym razie ktoś wszystko zapamięta - nie, ale mogę się założyć - że mnóstwo rzeczy się poukłada w głowie i będzie wiadomo jak korzystać z tej książki ...
masz właśnie typowy efekt zabierania się do książki na wyrywki ...
jeszcze raz i już szczegółowo odpowiedź na temat:
tomek napisał(a):
czy pisząc obsługę przerwania ISR( coś tam ... ) funkcję obsługi przerwania traktujemy jak każdą normalną funkcję czyli definiujemy ... deklarujemy i umieszczamy wywołanie w main
Funkcja przerwania jest podobna jak każda inna funkcja ... ale jej się nie wywołuje z main ... ona jest wywoływana przez SPRZĘTOWE przerwanie, i to trzeba zrozumieć ... więc nie ma czegoś takiego jak deklarowanie funkcji przerwaniowej ISR() .... zajrzyj więc proszę do książki porządnie ... a to masz akurat ładnie omówione w rozdziale o multipleksowaniu LED ... i to wyjaśnione skąd się biorą te przerwania, jak sobie obliczać co ile i jak ma być wywoływane itp itd .. no kurka - nie czytałeś w ogóle tego rozdziału, nie robiłeś na 100% tego ćwiczenia
Tymczasem opowiem ci przypadek jaki miałem na poważnie, otóż kiedyś napisał do mnie oburzony czytelnik maila, i poirytowanym tonem zrugał mnie, że pomimo zapowiedzi w Bluebooku nie znalazł nic o timerach sprzętowych, przerwaniach itp
a ja mu na spokojnie odpsałem
"szanowny panie - a czy zaglądał pan do rozdziału o multipleksowaniu wyświetlaczy LED?"
i wiesz co on mi na to odpisał ... znowu poirytowanym tonem
"Nie czytałem tego rozdziału bo nie mam zamiaru nigdy używać tych starych wyświetlaczy i multipleksowania, mnie będą interesować wyświetlacze graficzne i to kolorowe a nie taki przeżytek!"
więc ja na to ....
"szanowny panie - ale ja nie opisywałem wyświetlaczy multipleksowanych po to, żeby kogoś namawiać na stare technologie
... w ogóle nie trzeba tego używać - za to na 100% można wykonać w domowych warunkach, na szybko nawet na stykówce ... dwa takie wyświetlacze .... i dzięki jednemu rozdziałowi dowiedzieć się o:
- timerach sprzętowych
- konfiguracji timerów
- dostępie do RAM ale też FLASH
- jak łączyć działanie przerwań z programem w main dzięki specyfikatorowi volatile dla niektórych zmiennych
..... wiesz co? .... czytelnik przestał mi już odpisywać - pomyślałem "wkurzył się i rzucił książkę w kąt" .... aż tu po DWÓCH miesiącach .... kolejny mail od niego z taką mniej więcej treścią
"miał pan rację, wziąłem się i zacząłem czytać książkę po kolei w całości - ten JEDEN RAZ o którym pan pisał, i nagle zaczęło wyjaśniać mi się mnóstwo rzeczy, a pytania, które się rodziły - okazywało się że znajduję na nie odpowiedzi czytając kolejnych kilka stron książki po kolei w przód. Teraz gdy zrobiłem ćwiczenie z multipleksowaniem LED timery sprzętowe wydają mi się błahą sprawą - a przedtem myślałem, że to trudne i nie dla mnie ...
-------------------------------------------------------------------
przemyśl więc to panie tomek, przemyśl i sprawdź ten prosty w sumie sposób (JEDEN RAZ przeczytać BB w całości) ... łącznie z ćwiczeniami ... a później albo i w trakcie jak tylko czegoś nie rozumiesz zadawaj pytania ...
bo teraz wszystko miesza ci się jak w kotle - gdyż czytasz na wyrywki nie rozumiejąc podstaw, które zostały opisane we wcześniejszych rozdziałach