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



Teraz jest 28 mar 2024, o 17:21


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 34 ]  Przejdź na stronę 1, 2  Następna strona
Autor Wiadomość
PostNapisane: 13 sty 2018, o 18:47 
Offline
Nowy

Dołączył(a): 02 lis 2017
Posty: 16
Pomógł: 0

Witam. Posiadam atmega16 i próbuję obsłużyć kartę SD. Niestety pojawiają sie problemy. Kod brałem z bluebooka, zmieniłem bardzo niewiele. Program wiesza się. Gdy sprawdzałem przy pomocy diody do którego miejsca program sie wykonuje okazało sie że w pliku mmc.c w funkcji disk_initialize program sie zawiesza. A dokładniej już przy funkcjach disk_writep i rcv_spi.

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


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.




Dodam że kody są zaczerpnięte z ksiązki Mirosława Kardasia.
Posiadam moduł sd z wbudowanym translatorem i konwerterem napiecia.

KArta wygląda tak: Obrazek.
A schemat (nie znalałem karty SD w eaglu więc pokazałem tylko gdzie łacze który pin z karty, dodatkowo gnd karty łącze do masy i vcc do zasilania) jest pokazany tutaj:
Obrazek. Program do 128 linii w pliku mmc.c juz nie dochodzi. Nie wiem czemu tak sie dzieje. Gdyby ktoś mógł powiedzieć co zrobiłem źle. Bardzo prosze o pomoc i wskazówki.
Pozdrawiam.



Ostatnio edytowano 13 sty 2018, o 21:28 przez mikrok, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2018, o 19:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

cześć Kolego

Pierwsze co to edytuj post i usuń pliki z książkowej biblioteki bo tego nie publikujemy.
Druga sprawa to nie widzę gdzie masz zdefiniowany pin CS
np. w oryginale jest
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

a u Ciebie? ok. masz to na PD0
Zasilanie karty na module oczywiście sprawdzałeś? ;)

U mnie ta biblioteka ruszyła od tzw. kopa więc błędów szukaj w ew. połączeniach lub zmień kartę

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2018, o 20:23 
Offline
Użytkownik
Avatar użytkownika

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

A BB masz w miękkiej czy twardej oprawie? Jak w miękkiej to zajrzyj http://atnel.pl/FatFS_aktualizacja.html

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2018, o 21:46 
Offline
Nowy

Dołączył(a): 02 lis 2017
Posty: 16
Pomógł: 0

Dziękuję za odpowiedzi. Edytowałem główny post. Dodałem też tą lnijke z MISO niestety dalej nie działa.
Ale zauważyłem cos innego. Przedtem wgrywałem kod nie majac podłaczonego bezposrednio modułu SD. Dopiero po wgraniu go podpinałem. A gdy spróbuje wgrać kod mając podpięty moduł SD, próba wgrania czy nawet odczytanai z uC nie udaje się. Czy to może być spowodowane uszkodzeniem modułu (mam dwa , obydwa tak reagują , więc chyba mało prawdopodobne) czy może usbasp jakos "gryzie" sie z modułem SD wkońcu wykorzystują ten sam interfejs do transmisji, czy moze jeszcze cos innego? Zasialanie karty SD podłaczam do tego samego zasilanai co uC czyli 5V.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2018, o 22:44 
Offline
Użytkownik

Dołączył(a): 02 gru 2015
Posty: 544
Pomógł: 27

witam te moduły raczej działają robiłem na nich niedawno projekt mp3 playera tylko musisz sobie pod lutować kabelek od cart detekt u mnie był tu.
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2018, o 22:45 
Offline
Użytkownik
Avatar użytkownika

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

A patrzyłeś na tę erratę: http://atnel.pl/PetitFS_aktualizacja.html

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2018, o 00:53 
Offline
Nowy

Dołączył(a): 02 lis 2017
Posty: 16
Pomógł: 0

U mnie nawt nie dochodzi do tego miejsca w programie aby pokazać init_error. Program zawiesza sie i na lcd jedynie pokazuje sie "odczyt: test.txt".
Tylko teraz pozostaje dalej to pytanie. Dlaczego podczas wgrywania programu przy podłaczonej karcie programator nie widzi uC?

tonygryps- czy CD jest potrzebne aby karta sprawnie funkcjonowała ? Bo niestety nie posiadam obecnie przy sobie zadnej lutownicy :/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2018, o 01:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1146
Lokalizacja: Kraków
Pomógł: 93

mikrok napisał(a):
Dlaczego podczas wgrywania programu przy podłaczonej karcie programator nie widzi uC?
Pewnie dlatego, że piny do programowania procka są wspólne z pinami do karty SD. Poczytaj: http://mirekk36.blogspot.com/2013/12/av ... wolno.html



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2018, o 08:28 
Offline
Nowy

Dołączył(a): 02 lis 2017
Posty: 16
Pomógł: 0

No ale jak kiedyś obsługiwalem zewnętrzny moduł Adc przez spi to jego piny tez były wspólne z prockiem a wszytko się wygrywało normalnie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2018, o 09:50 
Offline
Użytkownik

Dołączył(a): 02 gru 2015
Posty: 544
Pomógł: 27

Polecam ci obejrzeć poradniki Mirka odnośnie kart pamięci to będziesz wiedział po co jest cd i że trzeba odłączać zasilanie karty zobacz sobie na schemat atnelowskiego modułu sd jak tam to jest zorganizowane tu masz link do poradnika:https://www.youtube.com/watch?v=H4DQy2OUq8c

Są 3 części warto je obejrzeć poza tym orginalny kod z BB nie działa bez cd. Więc musisz zmodyfikować kod (ale to nie jest dobry pomysł ) albo dolutuj kabelek i wgrywasz orginalny kod i wiesz jak nie działa że problem leży w sprzęcie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2018, o 10:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

tonygryps napisał(a):
orginalny kod z BB nie działa bez cd.

Wydaje mnie się, że "card detect" pojawia się dopiero w GB natomiast w BB jest tylko
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

i można to pominąć wpisując zero

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2018, o 11:04 
Offline
Moderator
Avatar użytkownika

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

mczarny napisał(a):
i można to pominąć wpisując zero

dokładnie - do pierwszych testów i zrozumienia wystarczy ... a całkiem inny problem jest taki, że te chińskie moduły nie zawsze działają ... wystarczy to forum poprzeglądać, gdzie ktoś w końcu zrobił sobie sam taki moduł albo nabył nasz ATB microSD - i ruszyło wszystko od kopa

_________________
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: 14 sty 2018, o 13:33 
Offline
Użytkownik

Dołączył(a): 02 gru 2015
Posty: 544
Pomógł: 27

A może masz za długie przewody do komunikacji pokarz zdjęcie zmontowanego układu.

a jaki masz układ scalony na tym module chodzi mi o oznaczenie bufora?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2018, o 15:44 
Offline
Nowy

Dołączył(a): 02 lis 2017
Posty: 16
Pomógł: 0

mczarny - w którym pliku znajduje sie ta linia z definicją CD ? Bo nie widzę tego.

buffor lvc125A



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2018, o 17:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

mikrok napisał(a):
mczarny - w którym pliku znajduje sie ta linia z definicją CD ? Bo nie widzę tego.


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

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2018, o 18:16 
Offline
Nowy

Dołączył(a): 02 lis 2017
Posty: 16
Pomógł: 0

tego pliku niema w PetitFS ;/. Ja brałem biblioteki z BB i tam nie było takich plików. Mógłbyś powiedzieć gdzie ten plik znajdę? mam tylko biblioteki: diskio.h, integer.h, dismmc.c , pff.c, pff.h , main.c i dwie do lcd



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2018, o 18:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

mikrok napisał(a):
tego pliku niema w PetitFS ;/. Ja brałem biblioteki z BB i tam nie było takich plików. Mógłbyś powiedzieć gdzie ten plik znajdę? mam tylko biblioteki: diskio.h, integer.h, dismmc.c , pff.c, pff.h , main.c i dwie do lcd


No tak masz rację dopiero w GB P.Mirek dodał pliki obsługujące włączanie zasilania do karty i detekcję czy karta jest w slocie.
W projekcie z BB tych plików nie ma ale reszta działa tak samo więc nie powinieneś mieć kłopotów z odpaleniem projektu bo to działa na 100%
Szukałbym w połączeniach, zasilaniu ew.sprawdził na innej karcie

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2018, o 18:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Powinieneś mieć jeszcze plik mmc.c i w nim linijkę:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

zmień na:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2018, o 23:11 
Offline
Nowy

Dołączył(a): 02 lis 2017
Posty: 16
Pomógł: 0

w pliku mmc.c nie ma takiej linijki



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2018, o 00:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Nie ma? ;)
Zawartość pliku 15_Karta_SD\SDCARD\mmc.c:
Obrazek

Przepraszam w Petit_FS faktycznie nie ma.

W ramach zadośćuczynienia ;) podłączyłem CS pod PD0 tak jak u Ciebie.
W main.c dałem:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

W 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.

Spróbuj, działa. Oczywiście, po zaprogramowaniu uC odepnij programator, włóż kartę pamięci i zresetuj procka.
Daj znać czy poszło.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2018, o 14:14 
Offline
Nowy

Dołączył(a): 02 lis 2017
Posty: 16
Pomógł: 0

Niestety dalej nic. Zmieniłem moduł SD na taki https://www.tme.eu/bg/Document/e43465b9 ... MODMMC.pdf . Teraz normalnie mogę wgrywać program ale niestety wciaz w tym samym miejscu w programie sie zawiesza :/. Nie mam juz kompletnie pojecia co to moze byc. Myslalem ze moduł , ale jak sie okazuje raczej nie. W karcie sd jest ustawione fat32, i jeden plik txt. o nazwie test.txt. Może tu jest coś źle? Chociaz patrzac na to gdzie sie zacina to jakby moduł nei wysyłął żadnych danych do uC. Czy mógłby ktoś pomóc. Byłbym wdzieczny



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2018, o 19:48 
Offline
Moderator
Avatar użytkownika

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

mikrok napisał(a):
Zmieniłem moduł SD na taki https://www.tme.eu/bg/Document/e43465b9 ... MODMMC.pdf . T

ile jeszcze ich zakupisz ? zamiast wziąć jeden w 100% sprawdzony ? ;) i zawsze działający ;)

https://www.sklep.atnel.pl/pl/p/ATB-micro-SD-/38

_________________
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: 15 sty 2018, o 21:11 
Offline
Nowy

Dołączył(a): 02 lis 2017
Posty: 16
Pomógł: 0

Chciałem go kupić jednak mam mało czasu i potrzebowałem ten moduł na teraz. Wiec kupiłem coś w sklepie na miejscu. Nie jest to chiński model i powinien działać. Wiec problem na 95% nie leży w module Sd



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2018, o 21:46 
Offline
Użytkownik
Avatar użytkownika

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

Cytuj:
Chciałem go kupić jednak mam mało czasu i potrzebowałem ten moduł na teraz. Wiec kupiłem coś w sklepie na miejscu. Nie jest to chiński model i powinien działać. Wiec problem na 95% nie leży w module Sd
W takich wypadkach musisz zrobić debuging kodu poprzez wyrzucanie statusu na zewnątrz z kolejnych miejsc (np. prezentowanym przez Mirka na blogu debugerze diodowym :) ) i złapanie dokładnie na czym Ci się zatrzymuje.

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2018, o 22:03 
Offline
Użytkownik

Dołączył(a): 02 gru 2015
Posty: 544
Pomógł: 27

powiem tak zrobiłem 10 takich mp3 playerów na tych modułach i wszystkie od razu działały bez problemu
Obrazek
spróbuj użyć cs na pinie procka PB4 .



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2018, o 22:36 
Offline
Nowy

Dołączył(a): 02 lis 2017
Posty: 16
Pomógł: 0

rskup pisałem przecież zadając pytanie (sprawdzałem przy pomocy diody) "zawiesza się pliku mmc.c w funkcji disk_initialize program sie zawiesza. A dokładniej już przy funkcjach disk_writep i rcv_spi"
.
Tobygryps możesz powiedzieć jaki model i rozmiar karty SD posiadasz. I w jaki sposób ja formatowales. Bo może w tym jest problem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2018, o 22:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Napisz jakie masz taktowanie procka, wewnętrzny oscylator, jakie taktowanie czy może jakiś rezonator podłączyłeś.
Gdzie masz podłączony wyświetlacz LCD, z obsługą RW czy bez.
Czy coś jeszcze masz podłączone do tej atmegi16, jeżeli tak to na jakich portach?

Jeżeli chcesz to wyślę Ci wsad (na 100% działający), który sobie wgrasz i przetestujesz.
Będziesz wtedy wiedział czy jest to problem programowy czy sprzętowy.
Oczywiście, że może to być problem z kartą, chociaż testowałem z różnymi (od nowych po bardzo stare) i jeszcze mi się nie trafiło, by jakaś nie działała. Formatuję normalnie pod Windows10 na Fat32. Tworzę plik test.txt i w pierwszej linii wpisuję:
test ----
To wszystko, nie ma, że boli. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sty 2018, o 16:43 
Offline
Nowy

Dołączył(a): 02 lis 2017
Posty: 16
Pomógł: 0

Podpiąłem CS do PB4, wszystko działa. Tylko dlaczego przy podpięciu do jakiegoś innego pinu niż PB4 plik się zawiesza.



Ostatnio edytowano 16 sty 2018, o 19:41 przez mikrok, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sty 2018, o 18:23 
Offline
Użytkownik

Dołączył(a): 02 gru 2015
Posty: 544
Pomógł: 27

Chodzi ci o lekcję 15_Karta_SD ? jak tak to powiedz jak to zrobiłeś
[*]Device: atmega32

Program: 21240 bytes (64.8% Full)
(.text + .data + .bootloader)

Data: 1558 bytes (76.1% Full)
(.data + .bss + .noinit)

Cytuj:
Posiadam atmega16



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sty 2018, o 19:38 
Offline
Nowy

Dołączył(a): 02 lis 2017
Posty: 16
Pomógł: 0

Dobra edytowalem poprzedni post. Zadziałało ale tylko przy podłączeniu CS do pb4(ss)

------------------------ [ Dodano po: 4 minutach ]

Tobygryps nie wiem co ty mi pokazujesz. Ale u mnie ten kod zajmuje 40% Flashu. I to jest kod z petita nie z fatfs

------------------------ [ Dodano po: 15 minutach ]

A teraz mam pytanie. Jak dopisywać do tego pliku bez usuwania poprzedniej zawartości dość dużą ilość danych. Około 100kb nie naraz tylko np. Najpierw 100bajtow później inne operacje (nie na karcie) później znów 100 bajtów i tak dalej



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: 34 ]  Przejdź na stronę 1, 2  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

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