MMC sektoriai vis sugadintas

K

kar2on

Guest
Hi, I've used kodą generuoti kai laikmatis pertraukia rašyti duomenis į MMC reguliariais laiko tarpais.Problema yra, kai aš perskaičiau iš kortelės duomenis, pradžioje keletą baitų sektoriuje yra sugadintas.Vietoj skaitymo '0 '(0x30), tai galėsite skaityti atsitiktinių simbolių, pavyzdžiui, "@".Kodėl taip yra, kartais sugadinti duomenis yra ne pirmas kelias baitai sektoriui (kiekviename sektoriuje).Kitos kartų sektoriaus pradžioje yra gerai, bet iki pusės sugadintas ...Kodėl taip yra?

Kodas buvo parašytas mikroC ...bet turėjo šią problemą, prieš?

Aš raštu MMC daug kartų, įskaitant vertės iš ADC, problema yra programinė įranga ..
unsigned trumpas tmp1;parašo trumpą duomenys = 0x00;
parašo trumpas data2 [512];
unsigned int x = 0;
unsigned kol žymiklį = 584;
unsigned int output = 0;
unsigned int outputlong = 0;

unsigned temp_res = 0;

tuščia nutraukti () (
išėjimas ;
TMR0H = 0xF8;
TMR0L = 0x2F;
INTCON = 0xA0;
)

void main () (
WDTCON.F0 = 0 / / Disable Watchdog Laikmatis
TRISC = 0x20;
TRISD = 0x00;
PORTD.F0 = 1;
T0CON = 0x80; / / Įjungti Timer0 prescaled iki 1 / 2
TMR0L = 0xF8 / / pirma nutraukti Nesvarbu
TMR0H = 0x2F;for (x = 0, x <512; x ) (
data2 [x] = 0x30;
)

while (! Mmc_Init (& PORTC, 2)); / / intinialize MMC
PORTD.F2 = 1;
INTCON = 0xA0 / / Įjungti Global Pertraukties Timer0 Nutraukti
/ / Timer0 nėra perkrautas

while (1) (
jei (output == 127) (/ / data2 masyvas yra visiškai
output = 0; / / išvalyti masyvas
rodyklė / / prieaugio sektoriaus rodyklė
tmp1 = Mmc_Write_Sector (rodyklė, data); / / įrašyti duomenis į MMC
PORTD.F3 = ~ PORTD.F3 / / rodo kai išėjimo
)
)

}//~!

 

Welcome to EDABoard.com

Sponsor

Back
Top