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 12 cze 2025, o 23:12


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
    Autor Wiadomość
    PostNapisane: 21 kwi 2013, o 20:13 
    Offline
    Nowy

    Dołączył(a): 04 lut 2013
    Posty: 16
    Pomógł: 0

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


    Dioda podłączona do pinu PB1 powinna zmieniać stan co 1 sekundę przy taktowaniu 1MHz. I tak się dzieje. Problem pojawia się gdy ustawiam taktowanie na 2MHz i F_CPU na 2000000. Według mnie dioda dalej powinna zmieniać stan co 1 sekundę, a w rzeczywistości dzieje się to dwa razy częściej. Jeśli dobrze rozumiem to funkcja _delay_ms() korzysta z funkcji _delay_cycles(), która z kolei używa F_CPU, więc zmiana F_CPU powinna mieć jakikolwiek wpływ na przebieg programu, a tak się nie dzieje. Gdzie jest błąd?



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

    Dołączył(a): 21 gru 2012
    Posty: 161
    Pomógł: 9

    Jeśli piszesz w Eclipse to F_CPU nie zmienia się w kodzie tylko w opcjach projektu. (A F_CPU nie powinno być w kodzie).

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 kwi 2013, o 20:17 
    Offline
    Użytkownik

    Dołączył(a): 16 lut 2012
    Posty: 219
    Pomógł: 1

    Kolego piszesz w Eclipse czy AVR Studio? Mirek powtarzał kilka dziesiąt razy, że częstotliwość taktowania procka ustawia się w properties projektu, a nie F_CPU i wtedy nie ma problemu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 kwi 2013, o 20:29 
    Offline
    Nowy

    Dołączył(a): 04 lut 2013
    Posty: 16
    Pomógł: 0

    Faktycznie, działa. Dzięki. Jakoś nie miałem nigdy szczęścia się natknąć na tę wskazówkę :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sty 2016, o 15:03 
    Offline
    Nowy

    Dołączył(a): 09 cze 2015
    Posty: 3
    Pomógł: 0

    Mam ten sam problem co merazmus. Program z początku postu ten sam, tylko bez F_CPU (zmieniam to we właściwościach projektu) i używam Eclipsa Luna. Atmega 32. USBasp.

    Gdy mkAVR Calculator ustawiam fusebity na E1 / D9 (1Mhz, wew.) i Eclipsem MCU Clock Frequency na 1Mhz dioda miga 1 Hz.

    Zgodnie z oczekiwaniem, gdy NIE zmieniam MCU CF w Eclipsie, a zmieniam częstotliwość procesora przez mkAVR, dioda miga szybciej. Wew. 8 MHz - 8x szybciej lub zew. kwarc 16 MHz - 16x szybciej. Do tej pory wszystko działa.

    Problem się zaczyna, gdy zmieniam częstotliwość procesora przez mkAVR i zmieniam częstotliwość MCU CF w Eclipsie. Gdy procesor jest na 8 MHz wew. i MCU CF zmieniam na 8 MHz, dioda nadal miga 8 razy szybciej - tutaj już powinna migać z f = 1 Hz. Zmieniam na zew. 16 MHz i MCU CF we właściwościach na 16 MHz. Dioda miga 16x szybciej, zamiast z częstotliwością 1 Hz.

    Wygląda to tak, że niezależnie od ustawień w Eclipsie, programy działają poprawnie tylko, gdy procesor ma ustawiony 1 MHz wew.

    Tak. Robię Clean Project po każdej zmianie częstotliwości. Sprawdzałem w mkAVR, czy aby na pewno ustawiony jest zegar taki jaki trzeba. Mam ustawione zapisz przed build (który ustawiony jest na release).

    Próbowałem również zmienić częstotliwość "programu" przez Eclipse Gadget nadal nic.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sty 2016, o 15:06 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    Podaj jakie masz wartości dla ustawienia fuse bitów dla 8MHz.

    - -
    Pozdrawiam,
    Robert

    ------------------------ [ Dodano po: kilkunastu sekundach ]

    Oczywiście sczytaj je obowiązkowo z procesora.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sty 2016, o 15:51 
    Offline
    Nowy

    Dołączył(a): 09 cze 2015
    Posty: 3
    Pomógł: 0

    Tak jak jest w mkAVRze

    1 MHz - E1 D9
    8 MHz - E4 D9
    16 MHz zew. - FF D9

    JTAG - Wyłączony.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sty 2016, o 16:37 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    Fuse bity masz dobrze ustawiane. Więc zostaje tylko diagnoza: "cuda, panie, cuda". Ale że okres Świąt się skończył, to może jednak coś nie tak jest z tym Clean projektu? Czy ma pewno jak wybierasz z menu tę opcję, to masz na formatce zaznaczony właściwy projekt?
    Czy sprawdzałeś czy problem masz tak samo jak założysz nowy projekt i od początku dasz mu właściwe taktowanie 8 / 16 MHz?
    Jak także założenie nowego projektu nie pomoże, proponuję abyś przesiadł się na najnowszego Eclipse Marsa z Atmel toolchainem [url](http://mirekk36.blogspot.com/2015/07/ec ... ogram.html[/url]).
    Możesz też podesłać spakowany projekt obowiązkowo wraz z plikami wynikowymi skompilowanymi dla 8MHz (hex-em oraz lss) by można było coś więcej sprawdzić.

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sty 2016, o 19:25 
    Offline
    Nowy

    Dołączył(a): 09 cze 2015
    Posty: 3
    Pomógł: 0

    Mam tylko jeden projekt, więc to na tym robię Clean Project. Dodatkowo klikam na projekt ppm -> clean. Zakładałem na testy nowe projekty, ale problem pozostaje. Zobaczę z nowym Eclipsem i dam znać.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lut 2020, o 12:53 
    Offline
    Nowy

    Dołączył(a): 27 gru 2016
    Posty: 18
    Pomógł: 0

    Dziękuję, "clean project" po zmianie częstotliwości - to mi było potrzebne.



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO