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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 18 lip 2025, o 21:03


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
    PostNapisane: 10 maja 2013, o 18:44 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 lis 2012
    Posty: 298
    Pomógł: 13

    Witam!
    Otóż Atmegę taktuję wewnętrznym oscylatorem 8MHz.
    W properties projektu mam ustawione na 8000000, ale niestety funkcja _delay_ms() działa źle, tzn czasy rzeczywiste są kilkukrotnie dłuższe niż te, które podaję jako parametr funkcji.
    Co może powodować taki problem?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 maja 2013, o 18:56 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 sty 2012
    Posty: 777
    Lokalizacja: Karpicko k. Wolsztyna
    Pomógł: 197

    Zapytam tak dla jasności: wewnętrzny oscylator na 8MHz ustawiłeś w fuse bitach? Czy tylko w ustawieniach projektu ustawiłeś 8MHz?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 maja 2013, o 21:22 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 lis 2012
    Posty: 298
    Pomógł: 13

    W fusach oczywiście.

    ------------------------ [ Dodano po: 20 minutach ]

    hmmm... Chyba przez przerwania od licznika coś się zwieszało.
    Wywaliłem część kodu z licznikiem i wyłączyłem przerwania i nagle myka jak trzeba.
    Nic z tego nie rozumiem...

    ------------------------ [ Dodano po: 30 minutach ]

    Ale przy okazji mam jeszcze jedno pytanie.

    Otóż ustawienia zegara zmieniamy w properties -> AVR -> Target Hardware.
    I zrobiłem tak jak na rysunku poniżej.
    Obrazek

    Ale jest jeszcze jedna zakładka, która przypadkiem rzuciła mi się w oczy: properties -> C/C++ Build -> Environment.
    I tam jest taka jedna zmienna AVRTARGETFCPU i ona mimo wcześniejszej zmiany tak jak we wcześniejszym okienku, ma wartość 1000000. Widać to na poniższym obrazku.
    Obrazek

    I teraz, czy trzeba zmieniać obie opcje, czy tylko tą pierwszą i po co jest ta druga i kiedy się nią przejmować?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 maja 2013, o 22:28 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 sty 2012
    Posty: 777
    Lokalizacja: Karpicko k. Wolsztyna
    Pomógł: 197

    Ustawienia częstotliwości zegara oczywiście dokonujemy w Avr-> Target Hardware.

    A ta druga zakładka to szczerze mówiąc nie wiem do czego służy. Tu musiał by się wypowiedzieć ktoś bardziej obeznany w Eclipse. Ja tej opcji nigdy jej nie używałem.

    A co do dziwnego działania programu to najlepiej wklej tu cały kod. Bo tak to trudno cokolwiek powiedzieć dlaczego tak działa. Chociaż mam jedno podejrzenie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 maja 2013, o 06:49 
    Offline
    Moderator
    Avatar użytkownika

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

    Zamast kombinowac z ta druga zakladka wystarczy ustawic taktowanie tylko w tej pierwszej, zrobic clean i build a nastepnie zajrzec do konsoli po kompilacji i zobaczyc jaka czestotliwosc sie pojawila ;) i to wszystko

    _________________
    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: 11 maja 2013, o 10:36 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 lis 2012
    Posty: 298
    Pomógł: 13

    Co do tego błędu z delayem, to czy możliwe że to przez wyłączenie optymalizacji? Bo teraz mi dopiero takie ostrzeżenie wyskoczyło. Gdzie włącza się optymalizację? Jacekk232 - jakie jest Twoje podejrzenie?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 maja 2013, o 11:06 
    Offline
    Użytkownik

    Dołączył(a): 12 paź 2012
    Posty: 207
    Lokalizacja: Rzeszów
    Pomógł: 16

    Pokaż cały kod. Bo sokor piszesz ze po wyłączeniu przerwań się poprawiło to : przerwanie jest bardzo często wywoływane lub bardzo długie.

    _________________
    sig off ;(



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

    Dołączył(a): 29 sty 2012
    Posty: 777
    Lokalizacja: Karpicko k. Wolsztyna
    Pomógł: 197

    Lukasz89 napisał(a):
    Bo skoro piszesz ze po wyłączeniu przerwań się poprawiło to : przerwanie jest bardzo często wywoływane lub bardzo długie.

    No właśnie. I też takie jest moje podejrzenie. Może procek wciąż siedzi w przerwaniu a na pętlę główną nie ma zbyt wiele czasu. I dlatego te delaye tak się wleką. No ale bez kodu to można tylko gdybać.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 maja 2013, o 11:44 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 lis 2012
    Posty: 298
    Pomógł: 13

    Kurcze chłopaki. Wczoraj robiłem modyfikacje porządne, tak jak mówiłem usunąłem przerwania. Zanim to zrobiłem zostawiłem sobie stary kod w innym pliku, ale przy robieniu clean - tak jak napisał Mirek, usunęło mi go. Niestety przywrócenie tego zajęłoby trochę czasu a tamte funkcje nie są mi teraz potrzebne. Myślę, że wraz z rozwojem kodu znów użyję przerwań i jeśli wtedy znów pojawią się problemy, to wrócę do tematu. Tymczasem dziękuję Wam za pomoc!



    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: 9 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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


    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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO