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



Teraz jest 10 mar 2025, o 12:37


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 23 paź 2016, o 08:33 
Offline
Użytkownik

Dołączył(a): 22 mar 2014
Posty: 32
Pomógł: 1

Witam,
panowie pomóżcie bo już nie wiem jak sprawdzić co jest źle. Przeniosłem układ z płytki testowej (częsciowo stykówka i moja płytka startowa) na docelową i po zlutowaniu wszystkiego układ zaczął działać, tam mi się przynajmniej wydawało.
Przebieg testu
Wgrywam na płytkę testową program finalny i wszystko jest ok, jak go wgram na docelową to chyba się wiesza procek bo wystepują krzaczki na wyswietlaczu. Wyświetlacza jest sterowany po SPI wiec pierwsza myśl jest taka, że pin PB4 ten od SS ma zwarcie. Pozostałe muszą być ok bo układ się programuje (MOSI,SCK).
Ok, więc sprawdzam pin PB4 na prostym programie typu migaj diodą na PB4 co iles ms i działa. Wniosek PB4 jest ok.
Następnie wstawiam w programie finalnym jeszcze w main() jako pierwsze działanie miganie na PB4 i nie działa! Więc o co chodzi? Procesor się wiesza? A dlaczego się nie zawiesił przy prostym programie na miganie diodą?
Przygotowując program finalny zrobiłem też odtwarzanie muzyczki w oddzielnym kodzie. Pomyślałem, że wgram go (jest dłuższy, ma przerwania) i zobaczę czy działa. No i działa.
Wniosek procek się nie wiesza bo melodia się odtwarza. A jak wgram program finalny to nie działa nawet miganie diodą w na początku main().

Na płytce startowej jest Atmega32A DIP a na docelowej ten sam procek ale smd. W MkAVRCalculator mają te same ustawienia.
Co o tym myślicie, co mogę jeszcze sprawdzić? Schemat jak w tym wątku:http://forum.atnel.pl/topic16212.html

marcin_c



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 paź 2016, o 09:05 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Z twojego opisu wynika, że to raczej wina błędów w kodzie. Pokaż go, a nikt nie będzie musiał zgadywać.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 paź 2016, o 09:17 
Offline
Użytkownik

Dołączył(a): 22 mar 2014
Posty: 32
Pomógł: 1

Kod jest ten sam dla obu układów. Na jednym działa na drugim nie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 paź 2016, o 09:21 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Ty nie wiesz, co się dzieje, a my tym bardziej. Nie podałeś kodu, schematu, ani zdjęć płytki. Jak miałby ktokolwiek ci pomóc, jeżeli nie dajesz takiej możliwości?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 paź 2016, o 10:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
marcin_c napisał(a):
Schemat jak w tym wątku:http://forum.atnel.pl/topic16212.html...

Delikatnie mówiąc nie poważne. Przecież pisząc "Schemat jak...." określasz to co chciałeś zrobić a nie to co Ci wyszło. TWÓJ schemat byłby bardziej wiarygodny -
marcin_c napisał(a):
...Na płytce startowej jest Atmega32A DIP a na docelowej ten sam procek ale smd ...

Ten sam ale "elektrycznie" inny; chociażby to że w SMD jest więcej PIN'ów Vcc/GND.
marcin_c napisał(a):
...W MkAVRCalculator mają te same ustawienia
Co o tym myślicie, co mogę jeszcze sprawdzić? ...

Czy faktycznie tak samo ustawiasz - np.: JTAG
...no i inne zarzuty o których wspominał kol. HomoChemicus ;)

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 paź 2016, o 11:59 
Offline
Użytkownik

Dołączył(a): 22 mar 2014
Posty: 32
Pomógł: 1

Pisząc "schemat jak w tym wątku..." miałem na myśli dokładnie schemat który wskazałem, a tam jest właśnie smd... no ale to już nie istotne bo działa.

Co było nie tak? Generalnie wychodzi na to, że zawinił mój sposób postępowania. Jako, że przenoszę układ z płytki stykowej na docelową to robię to po kolei moduł po module, aby w razie problemów móc wrócić do płytki stykowej, gdyby coś nie działało na płytce docelowej. Pierwszy był wyświetlacz. No i zonk.
Wgrałem kod do obsługi wyświetlacza z czasu tworzenia biblioteki do niego i działa! Hmm... więc w programie finalnym też musi działać bo to jest to samo. Idąc tym tropem zacząłem komentować linie po kolei od początku main(). Zakomentowanie linii odpowiedzialnej za odczyt danych z układu RTC załatwiło sprawę.
Czyli problem był w tym, że na płytce docelowej brakowało podłączonego układu RTC na I2C. Miał to być następny układ, który miał zostać przeniesiony po wyświetlaczu.
Temat do zamknięcia.

Dzięki za wasz poświęcony czas.

marcin_c



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

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