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



Teraz jest 4 cze 2026, o 12:02


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 1 kwi 2014, o 00:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2013
Posty: 191
Pomógł: 2

Witam mój problem ma się następująco;
-potrzebuje odczytać losową linię z kart SD (plik .txt) i dana linia ma być wyświetlona (tzn, przechowana w buforze).
-czy można w jakiś sposób odczytać w linii kilka znaków do danego fragmentu (ilość znaków jest nieokreślona, ale ciąg danych znaków byłby ograniczony np. przecinkiem lub czymś podobnych). Czy koniecznie muszę tworzyć osobny plik .txt.

Głównie chodzi mi o jakieś nakierowanie na coś co mogłoby mi pomóc, bo nie mam zielonego pojęcia jak się za to zabrać.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 kwi 2014, o 09:22 
Offline
Moderator
Avatar użytkownika

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

Z kart nie odczytuje się żadnych linii tylko pojedyncze bajty z jakichś tam plików. To że chcesz odczytać jak to mówisz "linię" to już kwestia napisania sobie odpowiedniej funkcji ....

a jak mowa o liniach ;) no to chyba muszą być czymś zakończone czyli znakiem CR (enter) najczęściej, a więc twoja funkcja musi je sobie znajdować żeby wiedzieć gdzie jest koniec linii

użyj FatFS ale tak naprawdę do odczytu wystarczy dużo mniejszy PetitFS

sporo przykładów takiego odczytywania danych z kart za pomocą PetitFS masz w książce:

http://atnel.pl/jezyk-c-pasja-programowania.html

czyli Greenbook'u .... bo jest tam i odczyt np plików dźwiękowych WAV i graficznych .... ale też i tekstowych właśnie ;)

_________________
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: 1 kwi 2014, o 15:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2013
Posty: 191
Pomógł: 2

hmm czyli powinienem odczytać cały plik, i pogrupować go w tablicy wielowymiarowej, a następnie z tej tablicy losowania i przetwarzać potrzebne dane? Rozumiem że zamiast końca linii, (CR) tak samo mogę zrobić dla dowolnego znaku udzielającego np. dwa zdania.

Jutro pożyczę zieloną książkę i zobaczę co tam jest opisane bo niestety ale tylko niebieską posiadam.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 kwi 2014, o 15:52 
Offline
Moderator
Avatar użytkownika

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

Mateo193 napisał(a):
hmm czyli powinienem odczytać cały plik


ależ co kolega wymyślił ? :( ... czyli co ? masz np w AVR 2kb RAM i chcesz wczytać plik który ma np 20 MB ???

pliki czyta się sekwencyjnie, posługujemy się wskaźnikiem w pliku na odczyt ... no trzeba przejrzeć funkcje np PetitFS i poczytać jak się w ogóle stosuje dostęp do plików ...

Mateo193 napisał(a):
i pogrupować go w tablicy wielowymiarowej


do żadnej tablicy wielowymiarowej - do zwykłego prostego bufora czyli tablicy jednowymiarowej.

Mateo193 napisał(a):
Jutro pożyczę zieloną książkę i zobaczę co tam jest opisane


to dobry pomysł - bo jak mówiłem jest tam trochę przykładów konkretnych

_________________
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: 1 kwi 2014, o 16:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2013
Posty: 191
Pomógł: 2

To może ja się nie będę coraz bardziej pogrążał, muszę się kiedyś dorobić tej zielonej książki, bo jeszcze trochę i dojdę do teorii że Ziemia jest płaska :D

Pan panie Mirku to ma cierpliwość, bo ja na swoim przykładzie wiem jak to jest jeżeli ktoś "plecie głupoty" i kombinuje na około jak przed nosem na proste rozwiązanie to zaczyna troszkę denerwować że bierze się za coś o czym nie ma pojęcia :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 kwi 2014, o 17:14 
Offline
Moderator
Avatar użytkownika

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

Ależ ja się nie denerwuję - no za co ? .... staram się tylko naprowadzić ... a z tego co sobie przypominam już na tym forum, kiedyś też ktoś pytał o to "odczytywanie linii" z karty SD.

Myślę że teraz już tak ogólnie wiesz, że trzeba:

1. bufor w RAM na odczyt danych z pliku
2. plik czytamy sekwencyjnie w zależności od wskaźnika odczytu (funkcje typu seek() )
3. obrabiasz sobie dane z takiego bufora - szukając swoich linii czyli ciągów zakończonych znakiem enter

to tak bardzo super skrótowo


Autor postu otrzymał pochwałę

_________________
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: 4 kwi 2014, o 18:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2013
Posty: 191
Pomógł: 2

Późnym wieczorem, dostanę książkę. Mam pytanie jakimi działami się zainteresować nauczyć się odczytywać z karty. Chce tylko odczyt bez zapisu. Chwilowo nie będę miał czasu na przeczytanie całej, więc chciałbym przeczytać tylko to co potrzebuje.

_________________
sig off ;(



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

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

Rozdział 5.16 (ODCZYT/ZAPIS KART PAMIECI SD (FAT))... W pierwszym podrozdziale jest opisany FatFS, a w drugim PetitFS... Czyli jak chcesz sam odczyt to wystarczy ci sam drugi podrozdział ;)

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

Ale najlepiej przeczytać oba :lol:


Autor postu otrzymał pochwałę

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 kwi 2014, o 20:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 maja 2013
Posty: 191
Pomógł: 2

Dziękuje za szybkie odpowiedzi. Mam (nadzieje że) ostatnie pytanie:

Jak odczytać do pewnego znaku, bo odczytuje dana liczbę bajtów, ale nie mam pojęcia jak odczytać do danego znaku.

@Chociaż spróbuje jakoś sektor podzielić może mi się uda

@A jednak, odczyt sektorami a potem dzielenie ich pomogło. ;))

_________________
sig off ;(



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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