BMP Lesen von nand Flasch

Gast #3957953
Lesenswert?
• ▲
▼
Guten Tag,
Ich arbeie mit einen STM32F103 mit externen NandFlasch,nun wollte ich
ein BP Array in das Nand Flash schreiben und wieder Auslesen und aufs 
Display anzeigen leider klapt das überhauptnicht.

Mein Aufruf:
1
Pic320_240_8_NAND(0,0,160,106,bmp160x106)
1
void Pic320_240_8_NAND(u16 StartX,u16 StartY,u16 EndX,u16 EndY,const u8 *str)
2
{               
3
u8 a,b,c;
4
u16  x1 = 0,x, y;
5

6
 //SCHREIBEN   
7
  WriteReadAddr.Zone = 0x00;
8
    WriteReadAddr.Block = 0x00;
9
    WriteReadAddr.Page = 0x00;
10

11
  //FSMC Initialization 
12
  FSMC_NAND_Init();
13
   
14

15
   for(y = StartY; y < (StartY + EndY); y++ )
16
   {
17
        for(x = StartX; x < (StartX + EndX); x++ ) 
18
     {  
19
          nand_TxBuffer[x]   = *str++;
20
      nand_TxBuffer[x+1] = *str++;
21
      nand_TxBuffer[x+2] = *str++;
22
            
23
         
24
     }
25
        FSMC_NAND_WriteSmallPage(nand_TxBuffer, WriteReadAddr, nand_PageNumber);
26
     WriteReadAddr.Page  ++;
27
    }  
28
  //}  
29
   DrawString(0,0,"Lesen",&Arial_16x25,WHITE,RED); 
30
      
31
 //LESEN   
32
  WriteReadAddr.Zone = 0x00;
33
    WriteReadAddr.Block = 0x00;
34
    WriteReadAddr.Page = 0x00;
35

36

37
   
38

39
   for(y = StartY; y < (StartY + EndY); y++ )
40
   {
41
        
42
    FSMC_NAND_ReadSmallPage (nand_RxBuffer, WriteReadAddr, nand_PageNumber);
43
    
44
    for(x = StartX; x < (StartX + EndX); x++ ) 
45
     {  
46
          a = nand_RxBuffer[x]; 
47
          b = nand_RxBuffer[x+1]; 
48
          c = nand_RxBuffer[x+2];
49
            
50
         Draw_Point(x,y,RGBCONVERT(a,b,c));
51
     }
52
        
53
     WriteReadAddr.Page  ++;
54
    }
55
}



Ich kann einzelne Bytes in das Nand schreiben und wieder auslesen das 
klappt,
nur mit meinen array nicht.

das Array kann ich einwandfrei aufs Display azigen.



Könnte mir einer von ihnen weiterhelfen
Angehängte Dateien:
#3958001
Lesenswert?
• ▲
▼
david schrieb:
>         for(x = StartX; x < (StartX + EndX); x++ )
>      {
>           nand_TxBuffer[x]   = *str++;
>       nand_TxBuffer[x+1] = *str++;
>       nand_TxBuffer[x+2] = *str++;

nand_TxBuffer[x+1] wird beim zweiten schleifendurchgang mit 
nand_TxBuffer[x] = *str++; überschrieben. meinten Sie nand_TxBuffer[x*3] 
?

Den Rest schau ich mir villeicht später an. Hab sowas noch nie gemacht.
Gast #3958066
Lesenswert?
• ▲
▼
Das was ich noch vergessen hab.

#define BUFFER_SIZE 0x800

NAND_IDTypeDef NAND_ID; NAND_ADDRESS WriteReadAddr;
uint8_t nand_TxBuffer[BUFFER_SIZE], nand_RxBuffer[BUFFER_SIZE];
uint32_t PageNumber = 2, WriteReadStatus = 0, status= 0;


/* NAND memory address to write to */
WriteReadAddr.Zone = 0x00;
WriteReadAddr.Block = 0x00;
WriteReadAddr.Page = 0x00;


//Wenn neue Page geschrieben wird muss diese zuerst gelöscht werden.
WriteReadAddr.Page ++;
NAND_EraseBlock(WriteReadAddr);


Daniel A. schrieb:
> david schrieb:
>         for(x = StartX; x < (StartX + EndX); x++ )
>      {
>           nand_TxBuffer[x]   = *str++;
>       nand_TxBuffer[x+1] = *str++;
>       nand_TxBuffer[x+2] = *str++;
>
> nand_TxBuffer[x+1] wird beim zweiten schleifendurchgang mit
> nand_TxBuffer[x] = *str++; überschrieben. meinten Sie nand_TxBuffer[x*3]
> ?
Ja Richtig.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.