Fórum témák
» Több friss téma |
Na mostmár rájöttem, hogy miért nem kapok adatot. Minden küldés után ki kell olvasni az SPI1BUF-ot, különben Receive overflow hiba keletkezik... Viszont R1 response az most 0x3F lett CMD0 parancs után!
Megosztanád az inicializáló függvényedet?
És a beállításokat, hogy tudjam majd én is mit kell beállítanom? Had tanuljak belőle és még kitudja lehet átírható C18-ra. Egyelőre érdemben nem tudok hozzászólni. Egyébként szimulátorban teszteled vagy élesben? Sima SPI-vel megy a dolog igaz? A hozzászólás módosítva: Júl 20, 2014
Ha működni fog, akkor elküldöm! Élesben tesztelem, van egy Pickit2-őm és Pickit3-am, meg egy dugaszos próbapanelem.
Megköszönném.
Megpróbálom átírni 18F442-re. Ha az megvan természetesen én is megosztom és utána mehet a FAT 16.. Jó lenne előrébb jutni vele mert amint elnézem nem sokan foglalkoznak vele... Előre is köszi..
Addig is a tananyag: Bővebben: Link
Na sikerült az inicializálás! Köszönöm a segítséget mindenkinek!
Thanks..Tanulmányozom..
És megy frankon? Ha nem nagy gond akkor elkérném az eddigieket hátha én is ki tudok belőle indulni... Ha nem publikus akkor privátban vagy e-mailben is jó. Köszi előre is.. A hozzászólás módosítva: Júl 20, 2014
Na sajnos nem sokáig jutottam el a tegnapi probléma után. Ugyanis csak akkor tudom inicializálni az SD kártyát, ha rajta van a logikai analizátoként használt pickit2 bekapcsolt táppal a PIC SCK és SDO kimenetén. Tehát pickit3-al debugolom az IC-t, pickit2 pedig logikai analizátorként rákötve az SPI buszra. CMD0 parancs után meg is kapom az R1 válaszban a 0x01-et. De ha nincs rajta a pickit2, akkor nem. Raktam a pickit2 helyére 10k ellenállásokat, tápra és GND-re is kötve, minden lehetséges variációban, de nem megy. R1 válasza 0x0F. Ilyen a világon nem létezik.
Közös a tápja a pic-nek és az SD-nek? 3,3V? A GND rendben, elég rövid és kis impedanciás a két eszköz között? Másik SD-vel is próbáltad?
A hozzászólás módosítva: Júl 21, 2014
A táp közös és 3,3V. Hát azt nem mondanám, hogy a kábelek jók, mert próbapanelen van összedugdosva kb 5cm-es egyeres vezetékekkel...
A 24EP tud olyat, hogy OC kimenetnek konfigolhatod a lábakat. Nincs véletlenül bekapcsolva? Milyen sebességgel kommunikálsz? Ha OC, lehet hogy a 10k felhúzás kevés volt.
Az SPI inicializálása után futtasd le ezt és menni fog
A hozzászólás módosítva: Júl 21, 2014
70mips a clk, 4*64-osztóval, azaz kb273kbps-el. OC kimeneteket nem állítom sehol a programban.
Idáig eljutottam.
Csatoltam a képet. Ha nem küldöm ki SPI init után a 80 óra impulzust, akkor megy az SDHC is, viszont akkor nem megy a CMD0 és CMD1 parancs. Tehát az init már működik elvileg, most már csak azt kell megoldanom, hogy egy .txt fájlt megnyisson vagy létrehozzon és azt írja folyamatosan. ... Nem lesz egyszerű.. A hozzászólás módosítva: Júl 21, 2014
Én meg odáig jutottam, hogy fél délután keresztül szivattam magam. Ugyanis elmentem venni SD kártya tartót, hogy csináljak egy kis próbapanelt, ezzel is kiszűrve a vezetékelés okozta hibákat. A panel teliföldesre csináltam. Csak hogy az SD kártyát behelyezve a tartóban a lábak hozzáértek a teliföldhöz alulról, ahogy a képen látható. Én meg nem értettem hogy honnan ered a zárlat... Persze leszedni sem volt egyszerű a kártyatartót! Szóval ha valaki tervez venni hasonlót, jól nézze meg az alját .
Az kemény lehetett
Akkor most már megy a dolog? E zárlat miatt volt gond? Fájlt olvasni vagy írni már próbáltál? A hozzászólás módosítva: Júl 21, 2014
Ez csak a ma délután eredménye, emiatt nem jutottam előrébb még az inicializálástól! Majd hétvégén folytatom leghamarabb...
Sziasztok!
Eljutottam odáig, hogy megvan a file melyik blokban van. Viszont a FAT táblában egy blokkal arrébb van a bejegyzés, mint amit számolok. Mit rontok el? A file start clustere:4 Bejegyzés melyik blockban van: 4*2/512+1 = 1 Bejegyzés blockon belüli offsete: 4*2%512 = 8 Ugyebár a FAT tábla a bootblock után kezdődik, azaz az 1 blockban. A hozzászólás módosítva: Júl 26, 2014
Na közben rájöttem, a FAT tábla a Reserved Region után van, de a reserved regionba beletartozik a bootblock is. Nekem 2 a reserved region. Javítsatok ki, ha tévedek!
Püff neki..
Én még eddig nem jutottam szóval segíteni nem tudok, de követem az eseményeket. .txt fájlt tettél rá az SD-re?
Igen! De most még gépen írom c++-ban. Odáig jutottam, hogy a root foldert ki tudom listázni hosszú file nevekkel együtt. Meg tudom találni a file-okat, és a FAT táblában a bejegyzést. Még a fileok olvasása nincs leprogramozva, meg a subdirectory listázása sem. Csatoltam képet hogy néz ki most
Ha gépen működni fog, már nem tart sokból majd PIC-re átírni, mert direkt úgy csinálom, hogy PIC-re is jó legyen! De még mindíg van egy két dolog, ami nem tiszta sajnos! Pl olyan fileveket is listáz, amit már nem kellene( a képen a vesszős n betűvel kezdődő file-ok).
Na ez már egész szépen alakul.
Csak megint az a baj, hogy C++.. Kikészít, hogy mindenki ASM vagy C++-ban dolgozik. ... Nekem is rá kellene állnom a témára, de még van pár befejezetlen projektem aminek a végére akarok érni..
De ha a gépen menni fog, akkor átírom C-re C30 fordítóra Ha ilyen tempóba haladok tovább, szerintem egy hét alatt kész lesz.
Na az jó Kiemelt figyelemmel kísérem az alakulást.
Én még egyelőre negáltam az SD inicializálásánál, de az már PIC-en van. C18 és 18F442-re írtam. Remélhetőleg én is előrébb jutok majd...
A subdirectory-ban vajon miért van két bejegyzés . és .. néven?
Mostmár subdirectory-ban a fileok kiiratása is működik, valamint txt file kiírása
Hali!
Single dot .: This represents current directory. Double dot ..: This represents parent directory.
Köszi! Azaz ha feljebb akarok lépni egy mappával, akkor a parent directory-t olvasom be?
Na sikerült már PIC-el is kilvasni a 0. szektort, azonban nem azt kapom, mint amit gépen látok a 0. blokkban Van benne egy olyan szöveg a kapott adatban, hogy "invalid partition table error..."
De ha számítógépen rákeresek HxD-vel, nincs is ilyen karakterlánc az SD-n Ez hogy lehet?
A vesszős n betűvel kezdődő fájlokat létrehoztad és törölted valamikor, nem? Régen a DOS navigátor tudott törölt fájlokat "visszahozni" és azoknak hiányzott az első betűje, amit kézzel kellett megadni. Valami olyasmi rémlik, hogy fizikailag a fájl nem lett törölve, csak valami olyan karaktert írt a DEL parancs, amiről tudta az oprendszer(?), hogy törölt fájl. Nem lehet, hogy ezt látod?
|
Bejelentkezés
Hirdetés |