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