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



Teraz jest 23 kwi 2026, o 04:31


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 25 sie 2014, o 15:02 
Offline
Nowy

Dołączył(a): 25 sie 2014
Posty: 2
Pomógł: 0

Witam, mam w planie zmontować prosty rejestrator temperatury, udało mi się już ogarnąć czujnik temp. i wyświetlacz, no ale została jeszcze karta SD. I tu pojawią się problem. Karta podłączyłem w najprostszy sposób (według tego rysunku ... jak i również skorzystałem z dostępnych tam do pobrania bibliotek petitfs (...). Niestety program w pewnym momencie się zawiesza i nic się nie dzieje (co dziwne raz na kilkanaście uruchomień program wykonał się poprawnie i wywali błąd - FR_NOT_READY - akurat wtedy karta była odłączona). Tak wygląda mój plik main :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Po kilku testach i edycjach kodu doszedłem do tego że problem jest w tym miejscu (funkcja DSTATUS disk_initialize (void) w pliku mmc.c):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Pętla wywoła prawidłowo funkcje rcv_spi(); ze 2 albo 3 razy a następnie w ten funkcji dochodzi do zapętlenia się programu: (w znacznikach syntax obcina kawałek kodu)

Kod:
SPDR = 0xff;

while(!(SPSR & (1<<SPIF))) ;

data = SPDR;

return data;
}


Gdzie może być błąd ? Mikrokontroler to atmega88PA.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sie 2014, o 19:22 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Problemem może być Watchdog w Atmega88PA. Dodaj sobie procedurę wyłączającą w odpowiedniej sekcji. Przykład znajdziesz na końcu tej strony http://www.atnel.pl/mkbootloader.html

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sie 2014, o 21:34 
Offline
Nowy

Dołączył(a): 25 sie 2014
Posty: 2
Pomógł: 0

Niestety nie działa, czasami wykona się poprawnie ale z reguły dalej się zawiesza. Dziwna sprawa :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 gru 2014, o 18:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Witam sorki za odkopanie tematu. Probuje odpalić petitfs na atmege128 ty co prawda odpalales na atmege88 ale w moim przypadku rowniez mam problem i to dokladnie w tej samej funkcji co ty. Sprawdzalem debugerem i program zawiesza sie tam gdzie tobie.

Rozwiazales moze problem?

Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 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