migod napisał: prokopcio napisał:
nie do końca rozumię o czym piszesz - jak wejść/niewejść w obszar fat skoro PC chyba i tak zapisze w systemie fat (przy standardowych sterownikach)...
Koledze chodziło zapewne o to, aby z poziomu PC przygotować "kontener" na dane w postaci jednego duużego pliku umieszczonego w katalogu głównym systemu FAT16/32. Wtedy zapis/odczyt jest o wiele prostszy - skrótowa analiza tabl. partycji i tablicy FAT. W ten sposób plik powinien (przynajmniej w teorii) zająć kolejne bloki na karcie, przez co uzyskasz efekt opisany przeze mnie, a jednocześnie nie będzie trzeba specjalnych driver-ów do obsługi tak spreparowanej karty przy odczycie/zapisie na PC.
Dokładnie tak, jak napisał kolega
migod. W tym momencie po zlokalizowaniu poszczególnych bloków pliku, który po zaalokowaniu teoretycznie na karcie tego samego typu/rozmiaru powinien zawsze mieć kolejne bloki w tych samych kolejnych obszarach karty, zdecydowanie upraszcza się obsługa od strony Twojego urządzenia przy zachowaniu pełnej możliwości manipulowania danymi (ale nie plikiem) od strony PC. W tak zbudowanym pliku można sobie nabudować jakiś wewnętrzny, prosty system obsługi danych/plików.
Inna możliwość to rezygnacja z obsługi karty przez PC i pozostawienie komunikacji na poziomie łącze PC - łącze urządzenia. W takiej sytuacji cała organizacja danych pozostaje po stronie mikrokontrolera. Niestety w tym układzie karta nie da się odczytać na standardowym czytniku.
Reasumując
1. Formatujesz kartę na PC z FATem i jednym lub wieloma plikami i po stronie uK musisz odpracować obsługę takiej struktury na poziomie FATa lub przez bezpośredni, dostęp do wnętrza pliku pecetowskiego
2. Wprowadzasz własny format danych na karcie i wtedy musisz albo napisać driver (program) do obsługi tej karty i komunikacji z nią (na standardowym lub dedykowanym czytniku), albo sam program komunikacyjny (po RS, LPT czy USB), tyle że wtedy czytnikiem karty musi być Twoje urządzenie lub
coś w podobie.