Moin,
ich bin grad dabei von einem STM32F103ZE Prozessor ein 8Bit SRAM
anzusprechen.
1 | #define SRAM_FIRST_ADDR (*((volatile unsigned int *) 0x64000000))
|
2 |
|
3 | int main (void)
|
4 | {
|
5 | unsigned char data;
|
6 |
|
7 | /* do some initializations */
|
8 | /*
|
9 | ..........
|
10 | */
|
11 |
|
12 | data = SRAM_FIRST_ADDR;
|
13 | delay(100);
|
14 | SRAM_FIRST_ADDR = 0x05;
|
15 | delay(100);
|
16 | data = SRAM_FIRST_ADDR;
|
17 | delay(100);
|
18 |
|
19 | while(1)
|
20 | {
|
21 | data = SRAM_FIRST_ADDR;
|
22 | delay(100);
|
23 |
|
24 | }
|
25 | }
|
Die CS-Leitung wird angesprochen, allerdings geht diese 3x nacheinander
auf low -> dann kommt der Break (delay(100)) und dann geht die
CS-Leitung wieder 3x auf low.
Dieses Verhalten verstehe ich leider nicht ganz. Ich dachte, dass die
CS-Leitung pro SRAM-Zugriff nur einmal auf low geht. Dieses Verhalten
hab ich auch, wenn ich nicht debugge.
Als Modus hab ich beim STM32 Prozessor FSMC_AccessMode_A ausgewählt
Gruß
Lars