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 16 lip 2025, o 03:28


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
    Autor Wiadomość
    PostNapisane: 25 gru 2012, o 22:41 
    Offline
    Nowy

    Dołączył(a): 27 paź 2012
    Posty: 13
    Pomógł: 0

    Mam problem z nie działającym portem F na medze128. Reszta portów działa prawidłowo. Do portów mam podłączone ledy więc widzę od razu efekty. Na portach od A do E widzę migające diody, na porcie F natomiast diody się nigdy nie zapalają. Podaję kod pomimo że jestem go pewny a przyczyna musi leżeć gdzie indziej.
    Kod:
    #include <avr/io.h>
    #include <util/delay.h>
    int main(void)
    {
    DDRA = 0xff; DDRB  = 0xff; DDRC  = 0xff; DDRD  = 0xff; DDRE = 0xff; DDRF = 0xff; DDRG = 0xff;
       while(1)
       {
          PORTA = 0x55; PORTB = 0x55; PORTC = 0x55; PORTD = 0x55; PORTE = 0x55; PORTF = 0x55;
          _delay_ms (500);
          PORTA = 0xAA; PORTB = 0xAA; PORTC = 0xAA; PORTD = 0xAA; PORTE = 0xAA; PORTF = 0xAA;
          _delay_ms (500);
       }
    }


    Fuse bity JTAG oraz tryb kompatybilności z M103 wyłączone, co zgodnie z pdfem powinno umożliwić działanie portu F również jako wyjście.
    Czy ktoś ma jakieś pomysły gdzie leży przyczyna.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 gru 2012, o 12:37 

    Pomógł: 0

    Pokaż dla pewności jak masz ustawione fusy i czym ustawiałeś, najlepiej screena zrób.



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 gru 2012, o 13:23 
    Offline
    Nowy

    Dołączył(a): 27 paź 2012
    Posty: 13
    Pomógł: 0

    Obrazek
    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 gru 2012, o 13:27 

    Pomógł: 0

    Sprawdź miernikiem napięcia na pustych portach, jak masz podłączone diody. Przez jakie rezystory? dobrze by było schemat zobaczyć, niby banał, ale często na banałach robi się proste błędy.



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 gru 2012, o 13:42 
    Offline
    Nowy

    Dołączył(a): 27 paź 2012
    Posty: 13
    Pomógł: 0

    Obrazek

    Jak widać jest to fabryczny development board więc podłączenia są poprawne. Podany przykład połączeń jest dla portu PB , ale każdy inny port jest dokładnie taki sam.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 gru 2012, o 15:17 

    Pomógł: 0

    Faktycznie coś jest nie tak z 128ką, nie jestem w stanie zweryfikować tego w 100% bo zostawiłem swój programator stk500 w pracy, a dragon coś mi nie chce współpracować z eclipsem.

    Podłączyłem same diody LED + 220ohm pod port, sterowane z stanu wysokiego i dooopa. Jutro jak będę miał proga to sprawdzę jeszcze raz.



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 gru 2012, o 16:32 
    Offline
    Nowy

    Dołączył(a): 27 paź 2012
    Posty: 13
    Pomógł: 0

    Zrobiłem sobie taki eksperyment. Wyjąłem płytkę z procesorem z development board więc mogę być teraz pewien że nie ma żadnego oddziaływania między nimi. Podłączyłem zasilanie do procka i zacząłem sprawdzać próbnikiem stanów logicznych co mam na portach. Na wszystkich portach mam zmieniające się stany pomiędzy niskim a wysokim(czyli poprawnie) natomiast na porcie F nie mam nic. Wniosek to albo mega ma uwalony port F (ale skoro ty masz to samo to mało prawdopodobne) lub konfiguracja portu F odbywa się w jakiś specyjalny sposób ( coś mi tu świta w głowie z podciąganiem tych stanów wewnętrznym rezystorem). Ewentualnie fuses.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 gru 2012, o 16:56 

    Pomógł: 0

    OK, zrobiłem rekompilacje na nowym toolchain 3.4.1 i ruszyło. Z tego co znalazłem na avrfreaks jest problem z portem F bo on leży w wyższej pamięci adresowania i jest jakiś bug w bibliotekach gcc.

    Migają pięknie diody.




    Ostatnio edytowano 26 gru 2012, o 17:01 przez rezasurmar, łącznie edytowano 1 raz

    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 gru 2012, o 16:59 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    dokładnie chodzi o konieczność includowania pliku 128.inc a port f jest poza adresami I/O

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 gru 2012, o 18:46 
    Offline
    Nowy

    Dołączył(a): 27 paź 2012
    Posty: 13
    Pomógł: 0

    Dziękuje za pomoc. Problem został rozwiązany zgodnie z radami kolegów.



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