Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 25 gru 2025, o 21:43


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 25 ] 
Autor Wiadomość
PostNapisane: 5 cze 2013, o 19:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 gru 2011
Posty: 97
Lokalizacja: Radomsko/Poznań
Pomógł: 0

Witam,
jestem w trakcie pisania i konstruowania własnego mini-systemu na LCD 3.5''. Stanąłem na funkcjonalności ramki do zdjęć. Mianowicie chcę aby przy wybraniu odpowiedniego "miejsca" na wyświetlaczy wyświetliło się (wcześniej) załadowane pierwsze zdjęcie i aby następne uruchamiały się np. co 3sek. (w momencie wyświetlania pierwszego kolejno wczytywały by się w tle). Mam jednak problem bo chciałbym także, żeby dało się w każdym momencie przerwać automatyczne wyświetlanie tapet i powrócić do głównego menu. Póki co naskrobałem coś takiego:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Hmm.. według mojego rozumowania należy np. po każdym wczytaniu zdjęcia sprawdzać flagę od panelu dotykowego (st_intX_flag) i jeśli jest 0 to wyświetlanie trwa dalej. Jednak czy da się to napisać inaczej niż kopiować tysiąc if'ów jeśli miałbym więcej zdjęć. Może trzeba uruchomić jakieś przerwania w tle? ale nie wiem jak się za to zabrać i poprawnie napisać, żeby działało poprawnie i po ludzku. Drugi pomysł to dać w pętli nazwę, która by się zwiększała np. wall01 typu string i wpisywać ją w funkcję:(tam gdzie "wall03.rgb")
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
ale nie da się zmienić tego parametru funkcji w tej postaci typu string prawda?

Z góry dzięki za pomoc.
Pozdrawiam,
Jacek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 cze 2013, o 19:47 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27446
Lokalizacja: Szczecin
Pomógł: 1045

zlata_n napisał(a):
Jednak czy da się to napisać inaczej niż kopiować tysiąc if'ów jeśli miałbym więcej zdjęć.


Zaraz zaraz .... a kolega zna takie mechanizmy jak pętle ? tablice itp ??? bo czegoś tu nie rozumiem ? Na prawdę jakbyś miał tysiąc zdjęć to tak byś je wyświetlał ? jedno po drugim w pętli głównej ?

jakie przerwania ? jakie flagi z przerwań ? ....

tablica nazw plików i odtwarzanie ich w pętli ....

jedna pętla , kilka linijek kodu i można nawet 5 tysięcy zdjęć wyświetlać, a przerywać wczytywanie do bufora ram w dowolnym momencie

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 cze 2013, o 20:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 gru 2011
Posty: 97
Lokalizacja: Radomsko/Poznań
Pomógł: 0

Mirku oczywiście, że nie wyświetlałbym tego jedno po drugim nawet jakby było ich tylko 5, bez przesady. Dlatego zadałem pytanie na forum jaki "mechanizm" tu zastosować. Oczywiście, że o pętli pomyślałem od razu jednak tak jak napisałem wyżej nie wiedziałem jak zmieniać te nazwy stringowe. I tu właśnie potrzebowałem takie CUŚ jak tablica znaków. Dzięki za przypomnienie. Czy mógłbym prosić jeszcze o jakiś najprostszy przykład jak to miałoby wyglądać, bo zastanawiam się jak wrzucić tablicę jako parametr: Czy to może tak wyglądać?

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 cze 2013, o 20:37 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27446
Lokalizacja: Szczecin
Pomógł: 1045

czasem zanim zapytasz - to spróbuj skompilować

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


co to jest wg ciebie ? to nie ma racji bytu

GreenBook i zajrzyj np do ostatniego rozdziału na temat RS232 i komend AT - zobacz jak są przechowywane

albo nazwy fontów przy wyświetlacu TFT GLCD

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 cze 2013, o 20:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 gru 2011
Posty: 97
Lokalizacja: Radomsko/Poznań
Pomógł: 0

No z tablicami mam niestety braki więc wolałem się zapytać doświadczonych, chociaż wiem, że poleciałem na łatwiznę. Z tego co doczytałem to:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


a jak się teraz odwołać do tych nazw jako parametr funkcji? potrzebuję wskaźników?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 cze 2013, o 21:39 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Jak zdefiniujesz sobie taką tablicę i obejrzysz użycie pamięci RAM po kompilacji to okaże się, że napisy również są w tej pamięci. Należy najpierw umieścić każdy napis w pamięci programu (flash), a potem dodatkowo umieścić wskaźniki do tych napisów w tablicy również w pamięci programu:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 cze 2013, o 21:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 gru 2011
Posty: 97
Lokalizacja: Radomsko/Poznań
Pomógł: 0

wielkie dzięki za wytłumaczenie kolego Krauser, jestem na etapie bluebook'a i powoli wchodze we wskaźniki więc czasami po prostu nie wiem jak ich użyć. Teraz do szczęścia potrzebuję tylko wytłumaczenia jak użyć tej tablicy jako parametr funkcji.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 cze 2013, o 22:08 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

A no właśnie aby użyć tego w twoim programie należy:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Jak nie będziesz korzystał z tablicy, a chcesz zaoszczędzić pamięci RAM wówczas robisz po prostu tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 cze 2013, o 22:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 gru 2011
Posty: 97
Lokalizacja: Radomsko/Poznań
Pomógł: 0

dzięki wielkie teraz już wszystko jasne, ale powiem szczerze, że pobieranie adresu w tym przypadku nie jest rzeczą prostą i czytelną dla początkującego, choć bardzo, bardzo przydatną.
Ok, wiec ostatecznie puszczę sobie w pętli zdjęcia:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

wszystko już sprawdzone, działa więc wielkie dzięki! Mam tylko jeszcze jedno pytanie, bo tak jak napisałem na początku chciałbym, żeby można była w momencie wyświetlania zdjęcia wyjść do głównego menu. W momencie kiedy używam nieszczęsnego "deley'a" jestem zmuszony odczekać np."5sek" nawet jeśli dotknę ekran. Czy jest na to jakiś inny sposób, żeby nie czekać tego czasu?
Mirek napisał że nie trzeba żadnych przerwań a zatrzymać można wczytywanie do bufora ram w dowolnym momencie. Jesteśmy jednak w tym przypadku uzależnieni od opóźnienia wczytywania lub tak jak w moim przypadku funkcji "deley" ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2013, o 08:24 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27446
Lokalizacja: Szczecin
Pomógł: 1045

zlata_n napisał(a):
Jesteśmy jednak w tym przypadku uzależnieni od opóźnienia wczytywania lub tak jak w moim przypadku funkcji "deley" ?


to się uniezależnijcie od "deley" .... toż to jest CLUE jednej i drugiej książki ;) na prawdę - dotknij timerów programowych

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2013, o 18:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 gru 2011
Posty: 97
Lokalizacja: Radomsko/Poznań
Pomógł: 0

Domyślam się, że tutaj tylko timery pomogą, nie doczytałem jednak jeszcze rozdziału z bluebooka odnośnie "systemu czasu rzeczywistego" gdzie opisujesz mechanizm timerów. Nie rozumiem też dokładnie jak one działaja i jak ich użyć, teorii trochę jest ale gorzej z praktyką. Poniżej przedstawiam moje wypociny na podstawie najnowszego projektu Krausera "Droid ATB" oraz "bluebook", proszę o pomoc i ewentualnie wytłumaczenie jak to ugryźć. Będę bardzo wdzięczny ;)

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 cze 2013, o 22:14 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Zacznij od prostego przykładu z miganiem dwiema LEDami z różnym okresem np. jedną co 0,1s, a drugą co 1s. Jakbyś to zrobił na funkcji _delay_ms ?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Musisz zrozumieć całość to łatwo przeniesiesz to na swój program.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2013, o 08:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 gru 2011
Posty: 97
Lokalizacja: Radomsko/Poznań
Pomógł: 0

Nie da się tego zrobić na funkcji `_delay_ms()` ponieważ zawsze jedna dioda będzie czekała na opóźnienie drugiej diody tak jak to wygląda w kodzie poniżej. Dobrze rozumiem?

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Także, chyba już wiem kiedy użyć tych timerów, lecz zastanawiam się co oznaczają te wartości 5 i 50. Bo timer ma taktowanie 100Hz czyli jeden cykl 0.01s. Skad dostajesz wartości 0,1 i 1s?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2013, o 12:05 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27446
Lokalizacja: Szczecin
Pomógł: 1045

zlata_n napisał(a):
Także, chyba już wiem kiedy użyć tych timerów, lecz zastanawiam się co oznaczają te wartości 5 i 50. Bo timer ma taktowanie 100Hz czyli jeden cykl 0.01s. Skad dostajesz wartości 0,1 i 1s?


na prawdę dziwię się, że tak się męczysz :( i męczysz .... zamiast wziąć i raz przeczytać w książce - no przecież ją masz .... czy mam ci dokładnie stronę pokazać ? ;) proszę strona 407 .... to AKURAT odpowiedź na to twoje pytanie

no ale musi ci się chcieć przeczytać ten cały rozdział i zrobić ćwiczenie .... bo inaczej to będziesz jeszcze się długo tak męczył :(

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2013, o 20:20 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

zlata_n napisał(a):
Nie da się tego zrobić na funkcji `_delay_ms()`

Oczywiście, że się da wystarczy wiedzieć, że 1s to 10*100ms i nie używać wcale w pętli _delay_ms(1000); tylko _delay_ms(100);
Wartości 5 i 50 wynikają oczywiście z tego, że mnożysz 5*10ms i 50*10ms, a dlatego 5 i 50, bo mówiłem o okresie czyli np. 50ms LED świeci i kolejne 50ms jest zgaszony co daje razem 100ms.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2013, o 14:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 gru 2011
Posty: 97
Lokalizacja: Radomsko/Poznań
Pomógł: 0

dziękuję bardzo Mirku i Krauser za pomoc i wytłumaczenie, przeczytałem rozdział w książce i zaczynam coś z tego rozumieć. Napisałem kod i już wszystko prawie działa, tzn. mam problem ze zliczaniem 5sek. Mimo, że użyłem timerów 16-bitowych i dałem wartość 500 co daje 500 x 10ms = 5000ms czyli 5s. Program mam testowy przewijam w pętli 2 zdjęcia i przeskakują one cały czas bez żadnej przerwy.
Co jest nie tak?

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2013, o 15:39 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27446
Lokalizacja: Szczecin
Pomógł: 1045

zobacz co ty wyprawaiasz:

Kod:
volatile uint16_t Timer1 ....


a w przerwaniu i w kodzie

Kod:
n = timer1;

timer1 = 500;


albo

Kod:
if(!Timer1)


czy na prawdę pomijasz takie podstawy jak to że dla kompilatora Timer1 to CAŁKIEM co innego niż timer1 ? .... zresztą ten kod nie powinien się kompilować bez błędów ....

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2013, o 15:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 gru 2011
Posty: 97
Lokalizacja: Radomsko/Poznań
Pomógł: 0

faktycznie miałem błąd, z pośpiechu pewnie, poprawiłem to i dalej nie działa jak należy, chociaż opóźnienie wynosi już teraz około 1sek.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2013, o 19:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

Witam kolegę z uczelni (i wydziału i kierunku). :) Lex z 5 roku się kłania. :)
Robisz jakiś projekt na tym LCD? Typu inżynierka, magisterka itp?
Jak chcesz robić mgr to ja robię mgr u dr inż. M. Maćkowskiego z KSTiO sterownik komory termicznej właśnie z tymi wyświetlaczami.
Mógłbyś rozwinąć dalej projekt np. dodać dataloggera na karcie pamięci czy wykresy na LCD. Albo dorobić współpracę modułu z PC. :) Jak jesteś zainteresowany pisz na prv albo gg, podeślę szczegóły. :)

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2013, o 21:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 gru 2011
Posty: 97
Lokalizacja: Radomsko/Poznań
Pomógł: 0

Witam Lexmarka, czy ty jesteś wszędzie? heh;P

Co do projektu, to nie jest to ani mgr ani inż tylko projekt domowy w celu wykorzystania wyświetlacza i modułów, którymi jestem zafascynowany.
Jeszcze nie dawno na inżynierce także prezentowałem ten wyświetlacz w roli symulatora ramek GPS/APRS, który sprawdził się w 100%. Obecnie w zaciszu domowym projektuję sobie mini-urządzenie, na którym siedzi moduł kart microSD oraz konwerter USB/RS232. Urządzenie będzie miało własny "system" w którym będzie działać odczyt temp,czasu, ramka zdjęciowa oraz odtwarzacz plików wav. Oprócz tego urządzenie łączy się z PC na którym będzie siedział sobie program do ustawień, synchronizacji oraz datalogger temp.(ten ostatni już działa)

BTW: znasz może odpowiedź na moje powyższe pytanie, męczę się trochę z tymi timerami sprzętowymi.?
PS. gratuluję wytrwałości na uczelni, osobiście nie wytrzymałem tej "chorej" atmosfery i nie było mowy o mgr, może za rok ;P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2013, o 21:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

zlata_n napisał(a):
Witam Lexmarka, czy ty jesteś wszędzie? heh;P

Wszędzie nie. Ale w wielu miejscach tak. :)

zlata_n napisał(a):
BTW: znasz może odpowiedź na moje powyższe pytanie, męczę się trochę z tymi timerami sprzętowymi.?

Nie czytałem wątku, postaram się prześledzić i jak będę wiedział to odpowiem. ;)

zlata_n napisał(a):
PS. gratuluję wytrwałości na uczelni, osobiście nie wytrzymałem tej "chorej" atmosfery i nie było mowy o mgr, może za rok ;P

Dzięki. Magisterka to z rozpędu. Niby tylko 1,5 roku, ale jeszcze praca mgr i wyjdzie 2 lata... Rysa na psychice została, ale cóż, na magisterce pomimo wielu przedmiotów do kitu (matematyka na 4 roku?) to były przedmioty też ciekawe i dobrze prowadzone. Zwłaszcza specjalnościowe. Atmosfera faktycznie na naszym wydziale nieciekawa, zwłaszcza po zmianie władz dziekańskich nastawionych do studenta o 180* inaczej niż poprzednia władza... Podam przykład, poprzedni rocznik mógł zapłacić 1000zł i przedłużyć obronę o rok. Od naszego rocznika trzeba wznawiać już cały semestr... No ale cóż, dobrze, że już koniec prawie... :) Sam siebie podziwiam że po słabym technikum rzuciłem się na głęboką wodę i nie utonąłem (matematyka, fizyka, programowanie itp.).

------------------------ [ Dodano po: 11 minutach ]

zlata_n napisał(a):
wielkie dzięki za wytłumaczenie kolego Krauser, jestem na etapie bluebook'a i powoli wchodze we wskaźniki więc czasami po prostu nie wiem jak ich użyć. Teraz do szczęścia potrzebuję tylko wytłumaczenia jak użyć tej tablicy jako parametr funkcji.

No nie gadaj, wskaźnikami przecież Jurek na EiT męczył. Tutaj to przecież te same wskaźniki, nie żadne "inteligentne wskaźniki" z C# czy C++0x :)


Na mój gust źle obslugujesz tego LCD.

Ja robię tak (z powodzeniem). Pseudo-kod:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


------------------------ [ Dodano po: 29 minutach ]

zlata_n napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

To jest całkowicie źle.
Powinno być:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Więcej nie trzeba. Przejrzyj rozdział o programowym PWM-ie w blue booku.

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2013, o 15:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 gru 2011
Posty: 97
Lokalizacja: Radomsko/Poznań
Pomógł: 0

Co do twojej wypowiedzi zgadzam się w 100%, suma sumarum zawiodłem się na uczelni i niestety ocenę końcową dostaje ode mnie negatywną. Żeby się tak męczyć z niektórymi przedmiotami (czyt. JT) to trochę przegięcie. Ale było, minęło, ważne, że udało się dotrwać do tego inż. Wracając do tematu wskaźników nigdy nie darzyłem ich sympatią. Jednak po raz kolejny muszę pochwalić Mirka i jego książki, bo naprawdę wiele rzeczy zrozumiałem i jeszcze ciągle się ich uczę, mimo braku wolnego czasu. Czasami mam wrażenie, że więcej się nauczyłem w domu z tych książek niż na uczelni odnośnie programowania ;P ale to moja subiektywna ocena. Co do twojego pseudo-kodu obsługi wyświetlacza uważam, że jest OK i ja też korzystam normalnie z podobnego, jednak w tym przypadku potrzebuję wejścia powiedzmy w "systemy czasu rzeczywistego" czyli tzw"timery programowe" i obsługa wielu zdarzeń jednocześnie, bez użycia żadnych blokad typu "delay". Wiec pętla while() jest ok. Co do ciała przerwania też uważam, że mój kod jest OK, ponieważ używam kilku timerów sprzętowych i tam jest fajny mechanizm zliczania. Problem u mnie polega na tym, ze deklaruję "tykanie przerwaniowe systemu" z częstotliwością 100Hz czyli 10ms. A wpisując stałą 500 zdjęcia powinny się zmieniać co 5sek a zmieniają sie co 1sek. ?? WTF?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2013, o 15:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

zlata_n napisał(a):
Co do twojej wypowiedzi zgadzam się w 100%, suma sumarum zawiodłem się na uczelni i niestety ocenę końcową dostaje ode mnie negatywną. Żeby się tak męczyć z niektórymi przedmiotami (czyt. JT) to trochę przegięcie. Ale było, minęło, ważne, że udało się dotrwać do tego inż.

Nie no, trochę za daleko wysunięte wnioski. PP jest w czołówce politechnik w Polsce. Nie powiesz mi, że jest źle wyposażona (biblioteki, sale wykładowe, laboratoria), że nie daje super możliwości (staże, praktyki, projekty), że nie ma renomy bo ma. Ale rozumiem twoje rozgoryczenie, bo pomimo nazwy kierunku Elektronika i Telekomunikacja niestety proporcje między elektroniką i telekomunikacją są 1:10 i jak ktoś nie jest sieciowcem czy innym radiowcem z krwi i kości to może być zawiedzony. Również wiele przedmiotów jest prowadzonych na bardzo słabym poziomie (Bandyta). Ale nie mów nic złego na JT, bo to właśnie jest skarb wydziału. Mnie osobiście najwięcej nauczył ze wszystkich wykładowców. Wymaga - fakt, ale genialnie wykłada, uczy mega przydatnych i praktycznych rzeczy. Spójrz na to z innej strony. Pomęczyłeś się z JT, ale za to kumasz w miarę C++, algorytmy i cyfrówkę. Teraz porównaj sobie swoją wiedzę z cyfrówki i analogówki wyniesioną tylko ze studiów. Nie ma porównania. ;)

zlata_n napisał(a):
Wracając do tematu wskaźników nigdy nie darzyłem ich sympatią. Jednak po raz kolejny muszę pochwalić Mirka i jego książki, bo naprawdę wiele rzeczy zrozumiałem i jeszcze ciągle się ich uczę, mimo braku wolnego czasu.

Mirka książki są super, ale wskaźniki są równie dobrze (a nawet lepiej!) wyłożone w Symfonii C++ Grębosza. Nie mów, że nie znasz tej pozycji po przejściach z JT. :P

zlata_n napisał(a):
Problem u mnie polega na tym, ze deklaruję "tykanie przerwaniowe systemu" z częstotliwością 100Hz czyli 10ms. A wpisując stałą 500 zdjęcia powinny się zmieniać co 5sek a zmieniają sie co 1sek. ?? WTF?

A preskaler dla timera masz dobrze ustawiony? Wyliczone wszystko z uwzględnieniem twojego kwarcu i wszystko się zgadza?

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2013, o 21:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 gru 2011
Posty: 97
Lokalizacja: Radomsko/Poznań
Pomógł: 0

Ledes napisał(a):
A preskaler dla timera masz dobrze ustawiony? Wyliczone wszystko z uwzględnieniem twojego kwarcu i wszystko się zgadza?
No własnie tutaj leżał babol, niestety wprowadziłem zły preskaler przy moim taktowaniu 24MHz. Poprawiłem wszystko i działa poprawnie. Powinna być wartość 234 zamiast 108 ponieważ: 24000000/1024/234/ ~ 100,160 Hz.
Dzięki wszystkim za pomoc w temacie oraz szybkie wprowadzenie w timery programowe, które już widzę jaką są potęgą. Wracam dalej to budowania projektu.
Pzdr



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2013, o 21:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

Dobrze myślałem. ;) Powodzenia w dalszym projektowaniu. :)

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 25 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO