SD kártya ISP módban fájl formátum nélkül

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

HozzászólásSzerző: nobody_hun » 2011. február 20. vasárnap, 18:59

Üdv mindenkinek!
Elméleti kérdésem lenne: van arra lehetőség, hogy a kártyáról ne csak egy teljes szektort, hanem szektoron belül tetszőleges számú bájtot beolvassunk?

Olyasmire emlékszem, hogy írni csak teljes szektort lehet, olvasni kevesebbet is. Igaz ez vagy csak bebeszélem magamnak? :wink:
"Az IC-k füsttel működnek. Ha kijön belőlük a füst, nem működnek tovább." - ismeretlen szerző
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9973
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. február 20. vasárnap, 19:12

Igen, jól emlékszel....

Avatar
Tom2tom
DrótVégénSzéndarab
Hozzászólások: 32
Csatlakozott: 2008. december 22. hétfő, 7:00

HozzászólásSzerző: Tom2tom » 2011. március 15. kedd, 11:02

Sziasztok!

Számomra is nagyon hasznos ez a fórumtéma. Én is köszönöm kapu48 mintakódját --> kiválóan működik.
Nekem inkább a hardverrel akadnak gondjaim. Egyenlőre nem tudom miért, de nem stabil a működés. Van, hogy hibátlanul tudok írni és olvasni a kártyáról. Van amikor "megkergül" és nem kommunikál.
HW: ATMega8-16PU 5V tápfesz. 1k8 és 3k3 ellenállás kombináció az SD kártya felé. Külön 3.3 tápfesz a kártyának és közös GND. Teszt kábel hossz kb. 10 cm.
Megnéztem - Mega8 data sheet-ben -, hogy mennyi a minimum feszültség szint I/O lábakon High Level-nél. Azt írja 0.6 Vcc --> gondolom ez azt jelenti, hogy 0.6 szorozva 5.02 Volt = 3 Volt. Sajnos nincs szkópom, de mivel 3.3 V-os táp IC-t használok az SD-hez, gondolom meg van a szükséges jelszint.

Mit gondoltok, miért nem elég stabil a kapcsolat Mega8 és SD között?
Rövidítsek a jelkábel hosszán? Tegyek nagyobb kondit a fesz. szab. IC-hez?

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9973
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. március 15. kedd, 11:10

1k8+3k3 -> 1.7V a magas jelszinted!
Azaz halovány....

A jelszinteknek 3...3V3 körül kellene lenni....

Illetve a ChipSelect esetén érdemes a következő mintát meglesni:
http://www.ladyada.net/media/wavshield/ ... 0schem.png

Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

HozzászólásSzerző: nobody_hun » 2011. június 5. vasárnap, 17:34

SD-vel történő ismerkedéshez írt egy svéd srác egy könyvtárat.

Akit érdekel a téma, itt utána nézhet:
mcselec.com/index.php?option=com_content&task=view&id=291
"Az IC-k füsttel működnek. Ha kijön belőlük a füst, nem működnek tovább." - ismeretlen szerző

"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9973
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. június 5. vasárnap, 18:03

Az ezzel kapcsolatos tematikus fórum:
http://avr.tavir.hu/modules.php?name=Fo ... opic&t=802

Avatar
Marvinn
Tranzisztorgyógyász
Hozzászólások: 153
Csatlakozott: 2008. július 24. csütörtök, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: Marvinn » 2011. július 6. szerda, 10:10

nobody_hun által publikált módszert szeretném alkalmazni egy webszerverben ahol a fájlokat az sd-ről kéne leolvasnia. Be tudom írni a sectorokba az adatokat, a következő do-loop-pal ki is tudom printelni. A kérdésem az, hogyan kell használni a sectorokban lévő adatokat, milyen formában kell beírni? pl.:

Kód: Egész kijelölése

index:
Data "<div style={034}border:1px solid #000;{034}>hello: úőüíy</div>"



a fenti karaktereket fordítsam le bináris adattá, írjam rá az SD-re? és hogyan hivatkozok rá a programomban?

Kód: Egész kijelölése

Do
Input "olvas " , Ok
If Gbdriveerror = 0 Then

   Wsrampointer = Varptr(abuffer(1))
   Gbdriveerror = Driveinit()
   Sound Speaker , 150 , 300

   '14 sector hosszú az index.html fájlom ami az SD-n van.
   For Ii = 0 To Ii
    'szektrorok tartalmámak kiolvasása
     Gbdriveerror = Drivereadsector(wsrampointer , Ii )
     For I = 1 To 512
         If Abuffer(i) = &HFF Then
            'ha FF van akkor vége a fájlnak (biztos? majd kiderül)
            Ii = Ii
            Exit For
         Else
         'itt írom ki de csak  terminálba
         Print Chr(abuffer(i));
         End If
      Next I
      If Abuffer(i) = &HFF Then Exit For
  Next Ii
Else
   Print "Nem lehet inicializalni a kartyat!"
   'Print
   'Print "Ujrainditas..."
   'Wait 4
   'Goto 0000
End If
Loop

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9973
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. július 6. szerda, 15:02

Muszály kidobni a bevált filekezelést? :)

Ott 1 file -> 1 HTML oldal....
TEXT alapon. Itt meg szívatod pluszban magad a memóriakezeléssel is....

Avatar
Marvinn
Tranzisztorgyógyász
Hozzászólások: 153
Csatlakozott: 2008. július 24. csütörtök, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: Marvinn » 2011. július 6. szerda, 15:29

igen szivatom :) de így gyors a szektorkiolvasás, gyors a szerver is, nem kell sok sram, tehát elmegy egy m328-on is, nem kell m128. Cserébe nem lehet gyorsan módosítani, de kipróbálni nem árt :) kijárni az ösvényt és ha kell akkor használni..

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3310
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2011. július 6. szerda, 16:50

De miért variálsz konvertálással? Mért nem írod ki úgy, ahogy van szövegként?
Hivatkozni, pedig vagy a Címkére tudsz, ahova betöltöd, vagy fix kezdő címet adsz meg neki.
Ha már nem használsz File neveket.
És a String vége nem, HFF, Hanem H00, + sorvég + újsor. ASCII táblában keresd.

8)

Avatar
Marvinn
Tranzisztorgyógyász
Hozzászólások: 153
Csatlakozott: 2008. július 24. csütörtök, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: Marvinn » 2011. július 6. szerda, 16:54

cimkére?

mert a sd kártyán binárisan van, onnan kiolvasom, karakterré alakítom.. de hogy hivatkozok rá cimkeként?

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3310
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2011. július 6. szerda, 17:12

Jaj ne idegesíts már! Mi az, hogy bináris? Az ASCII-kód is bináris!
Az ÁBC eleje:
Bináris ez van a gépben -> 01000001 , A <- ezt rajzolja ki neked a monitorra!
01000010 B
01000011 C
01000100 D
01000101 E
01000110 F
01000111 G
01001000 H

Avatar
Marvinn
Tranzisztorgyógyász
Hozzászólások: 153
Csatlakozott: 2008. július 24. csütörtök, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: Marvinn » 2011. július 6. szerda, 17:16

:) nem akarlak idegesíteni :)
be kell olvasnom? hova? a gyenge agyammal arra gondoltam hogy ne kelljen tömbbe rakni hanem ha kérés érkezik akkor olvassa be szektoronként..

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3310
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2011. július 6. szerda, 17:30

Ez eddig OK! De neked kel Megszervezni, hogy hova rakod a kártyára az adatodat, milyen hosszú, mi a neve? Különben nem találsz meg semmit.

Mivel nincsen DOS a hátad mögött! Ami megjegyzi helyetted mi hól, kezdődik, meddig tart, hol van még üres hely a kártyán stb, stb…..
:roll:

Avatar
Marvinn
Tranzisztorgyógyász
Hozzászólások: 153
Csatlakozott: 2008. július 24. csütörtök, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: Marvinn » 2011. július 6. szerda, 17:35

egyelőre egy fájl van 14 sector hosszú, amiben a 14. szektor végén van pár HFF karakter.. mert ugye írni csak egész szektort lehet.. amikor kiolvasom akkor ha talál HFF karaktert akkor kilép a for-ból és elvileg az a fájl vége.. persze ezzel az a gond hogy később kelleni fog a fájlok megkülönböztetése.. erre jó a cimke, de hogy használom... mert ugye ez nem a program számára fenntartott helyen van, hanem az sd kártyán, tehát azt nekem olvasgatnom kel alkalom adtán.. na de hogy :)


Vissza: “Bascom-AVR nyelvű programozás (AVR programozásának lehetőségei)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég