Problem rozwiązany, okazało się, że trzeba było zrobić Clean. Jednak mimo wszystko postanowiłem Ci odpisać bo mierzi mnie ton Twoich wypowiedzi.
mirekk36 napisał(a):
Taaaak teraz widać wyraźnie - ale nie o co ci chodzi - tylko to czego ty niestety wyraźnie nie rozumiesz
i dlatego miesza ci się wszystko na MAX'a (a skoro zawsze masz 10Hz gdy deklarujesz F_CPU zgodnie z Fusami to wszystko jest w najlepszym porządku!)
Mam do Ciebie prośbę, ochłoń i przeczytaj jeszcze raz ze zrozumieniem mój post. Napisałem wyraźnie, że kiedy definiuję częstotliwość przez F_CPU jest ok więc nie wiem skąd wniosek, że czegoś nie rozumiem? Rozczaruję Cię, doskonale rozumiem zależności między deklaracją częstotliwości procesora a jego faktycznym ustawieniem i rozumiem jakie są konsekwencje i skutki niewłaściwej konfiguracji tego parametru.
mirekk36 napisał(a):
Po drugie - co ty wyrpawiasz ???? co to w ogóle za jakieś testy że ty sobie usawiasz Fusebity CKSEL np, na 8MHz a jednocześnie deklarujesz taktowanie w Eclipse na jakieś tam 4MHz albo na 1MHz i oczekujesz jakichś tam wyników. Tzn moje pytanie - czy ty robisz jakąś pracę badawczo/naukową na temat zachowań kompilatora podczas wprowadzania go świadomie w błąd ???? SZOK ?
Kolejny raz proszę o wyluzowanie. Mikroprocesor, czy kompilator to nie są święte relikwie, których nie można świadomie oszukiwać czy bawić się nimi. Może Ty urodziłeś się ze swoją wiedzą, ja natomiast swoją zdobywam mozolnie i najlepiej mi idzie kiedy doświadczam czegoś na "własnej skórze", na prawdę nie wiem co w tym jest takiego SZOKUJĄCEGO. A odpowiadając na Twoje pytanie, nie robię pracy badawczej ani naukowej, po prostu wziąłem się za naukę czegoś co Ty już od dawna umiesz. Pierwszy program który wgrałem do uC zachował się zgodnie z oczekiwaniami dopóki nie zmieniłem częstotliwości taktowania. Po tej zmianie przestał się zachowywać zgodnie z oczekiwaniami i dla tego zacząłem eksperymentować żeby ustalić w którym miejscu popełniam błąd. Mój błąd polegał na braku wiedzy o poleceniu Clean, to też Cię szokuje?
mirekk36 napisał(a):
ale z drugiej strony myślę sobie że po prostu nie rozumiesz o co chodzi więc postaram się wyjaśnić:
Dziękuję za chęci ale jak już wspomniałem rozumiem więcej niż sądzisz. Rozumiem tez to, że masz obszerną wiedzę i często odpowiadasz na pytania totalnych laików jednak traktowanie każdego jak totalnego głąba uważam za przesadę.
mirekk36 napisał(a):
Ale NIGDY, podkreślam NIGDY nie rób tak żeby ustawiać inne F_CPU w kompilatorze a inne Fusebity bo to jakiś pomysł z kosmosu. I skoro tak samo ci się dzieje w różnych środowiskach jak pisałeś czyli AVR Studio 4 czy Eclipse to już dawno powinieneś się domyśleć że to nie zależy od ŚRODOWISKA programistycznego, tylko że coś nie tak się kompiluje czyli że to od kompilatora!
Nie wiem gdzie wyczytałeś, że używam innego środowiska ale optymistycznie zakładam, że to nieporozumienie a nie paranoja.
mirekk36 napisał(a):
a dlaczego od kompilatora ???? bo jak go oszukujesz to się później nie dziw, toż do poprawnego działania takich funkcji jak
_delay_ms()
_delay_us()
Powtórzę jeszcze raz bo ewidentnie masz problem z czytaniem ze zrozumieniem. Nie oszukuje kompilatora dla zabawy czy po to żeby regulować sobie działanie funkcji czasowych, eksperymenty, które robiłem były tylko i wyłącznie narzędziem do rozwiązania problemu. Sprostuje jeszcze, bo też nie zrozumiałeś tego, nie dziwi mnie niepoprawne działanie funkcji czasowych kiedy ustawie inne taktowanie fusebitami i inne w kompilatorze, dziwiło mnie właśnie to, że funkcje czasowe działają niepoprawne pomimo właściwych ustawień fusebitów i kompilatora.
mirekk36 napisał(a):
toż np gdy podajesz F_CPU = 8MHz to kompilator oblicza ilość wykonania pętli opóźniającej dla tej częstotliwości - a ty się spodziewasz że co? że jak napiszesz F_CPU=4MHz a fusami procek będzie taktowany 8MHz to jakby zmienisz jego zachowanie i taktowanie ????
Nie. Spodziewam się, że jak ustawie taką samą częstotliwość fusebitami i w kompilatorze to funkcje czasowe będą działały poprawnie, w moim eksperymencie widać było, że tak nie jest, czego tu nie rozumiesz?
mirekk36 napisał(a):
nie rozumiem w ogóle tego toku myślenia coś ci się mocno pokręciło albo czegoś mocno nie zrozumiałeś na samym początku....
Tu należałoby się powtórzenie tego wszystkiego co pisałem wcześniej, nie traktuj wszystkich, którzy wiedzą mniej niż Ty jak ćwierć inteligentów tylko dla tego, że nie rozumiesz czyjegoś toku myślenia.
mirekk36 napisał(a):
Ale jest jeszcze druga rzecz, która może ci się kiełbasić a o której po prostu jeszcze nie wiesz
Bo jeśli już nawet chcesz wykonać takie testy ustawiając inne F_CPU niż rzeczywista wartość taktowania to:
1. MUSISZ - ZAWSZE WYKONAĆ CZYSZCZENIE PROJEKTU. OPCJA CLEAN
2. POTEM DOPIERO BUILD
jak zrobisz clean i build to wtedy zobacz
I to jest sedno sprawy, wystarczyłby sam ten akapit zamiast wszystkiego co wyżej i naprawdę osiągnąłbyś znacznie więcej niż ciągłe, bezsensowne wytykanie mi, że czegoś tam nie rozumiem. W każdym razie za tę naukę dziękuję.
mirekk36 napisał(a):
i nie pisz na drugi raz i nie domyślaj się gdy ci coś nie wychodzi że to zaraz wina Eclipse, czy AVR Studio czy niedługo może samego procesora. Szukaj i pytaj - aby dojść co robisz nie tak - tym bardziej że prowadzisz dziwne i niepotrzebne testy. Ale ok zaparłeś się żeby to sprawdzić i ok
tylko najpierw trzeba się dowiedzieć jak działa kompilator i jak trzeba normalnie działać. A potem testuj swoje dziwne przypadki.
Nigdzie nie napisałem czyja to wina. Byłem pewny, że to ja gdzieś popełniam błąd tylko nie wiedziałem jaki. To, że nie napisałem "Eclipse ignoruje ustawienie częstotliwości bo nie wiem jak go używać" wcale nie znaczy, że zwalam całą winę na software. Nie rób takich nadinterpretacji bo to bez sensu, nawet jeśli tak myślisz to czasem warto się powstrzymać przed oceną bo może się okazać pochopna. A gdyby nie moje dziwne i niepotrzebne testy to pewnie nie wiedziałbym jak sformułować pytanie. One nie były niepotrzebne tylko obarczone błędem niewiedzy, jednak doprowadziły do rozwiązania problemu dość szybko.
Na zakończenie jeszcze jeden drobiazg. Dobrym zwyczajem jest pisanie zaimków osobowych z dużej litery jeśli się do kogoś zwraca, szczególnie jeśli ktoś tak jak Ty, przywiązuje taką wagę do poprawnego pisania (kodu) i podwójnie szczególnie kiedy jest się moderatorem forum z ambicjami.
Pozdrawiam
Artur