Bonjour,
il y a peu j'ai ouvert une discussion pour un problème avec un ESP32 et une carte SD. Malgré l'aide apportée par vos réponses et après avoir tenté 1000 manips, j'ai fini par abandonné pour passer à un ESP12F.
Mais ce n'est pas mieux!
Le code utilisé est le début de l'exemple ReadCsvFile fourni avec la librairie SdFat. Le voici:
J'ai seulement modifier les lignes en gras pour mettre le pin 5 comme pin CS.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 #include "Arduino.h" #include "SdFat.h" // SD_FAT_TYPE = 0 for SdFat/File as defined in SdFatConfig.h, // 1 for FAT16/FAT32, 2 for exFAT, 3 for FAT16/FAT32 and exFAT. #define SD_FAT_TYPE 0 /* Change the value of SD_CS_PIN if you are using SPI and your hardware does not use the default value, SS. Common values are: Arduino Ethernet shield: pin 4 Sparkfun SD shield: pin 8 Adafruit SD shields and modules: pin 10 */ // SDCARD_SS_PIN is defined for the built-in SD on some boards. #ifndef SDCARD_SS_PIN const uint8_t SD_CS_PIN = 5;//SS; #else // SDCARD_SS_PIN // Assume built-in SD is used. const uint8_t SD_CS_PIN = 5;//SDCARD_SS_PIN; #endif // SDCARD_SS_PIN // Try max SPI clock for an SD. Reduce SPI_CLOCK if errors occur. #define SPI_CLOCK SD_SCK_MHZ(50) // Try to select the best SD card configuration. #if HAS_SDIO_CLASS #define SD_CONFIG SdioConfig(FIFO_SDIO) #elif ENABLE_DEDICATED_SPI #define SD_CONFIG SdSpiConfig(SD_CS_PIN, DEDICATED_SPI, SPI_CLOCK) #else // HAS_SDIO_CLASS #define SD_CONFIG SdSpiConfig(SD_CS_PIN, SHARED_SPI, SPI_CLOCK) #endif // HAS_SDIO_CLASS #if SD_FAT_TYPE == 0 SdFat sd; File file; #elif SD_FAT_TYPE == 1 SdFat32 sd; File32 file; #elif SD_FAT_TYPE == 2 SdExFat sd; ExFile file; #elif SD_FAT_TYPE == 3 SdFs sd; FsFile file; #else // SD_FAT_TYPE #error Invalid SD_FAT_TYPE #endif // SD_FAT_TYPE void setup() { Serial.begin(9600); // Wait for USB Serial while (!Serial) { yield(); } Serial.println("Type any character to start"); while (!Serial.available()) { yield(); } // Initialize the SD. if (!sd.begin(SD_CONFIG)) { sd.initErrorHalt(&Serial); return; } } void loop() { }
voici la photo de mon module :
voici mon cablage :
Carte SD -> ESP12
Gnd -> Gnd
Vcc -> 3,3v
Mosi -> 13
Miso -> 12
SCK -> 14
CS -> 5
et voici le résultat de l'exécution :Alors à ce stade j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Type any character to start 10:08:43: 10:08:43: >>Send to COM12: " "<< 10:08:46: begin() failed 10:08:46: Do not reformat the SD. 10:08:46: SdError: 0X17,0XFF 10:08:46: 10:08:46: --------------- CUT HERE FOR EXCEPTION DECODER --------------- 10:08:46: 10:08:46: Soft WDT reset 10:08:46: 10:08:46: >>>stack>>> 10:08:46: 10:08:46: ctx: cont 10:08:46: sp: 3ffffd80 end: 3fffffc0 offset: 01a0 10:08:46: 3fffff20: 3fffdad0 3ffee390 3ffee664 4020155c 10:08:46: 3fffff30: feefeffe feefeffe feefeffe feefeffe 10:08:46: 3fffff40: feefeffe feefeffe feefeffe feefeffe 10:08:46: 3fffff50: feefeffe feefeffe feefeffe feefeffe 10:08:46: 3fffff60: feefeffe feefeffe feef0105 00989680 10:08:46: 3fffff70: 00000000 feef0105 00989680 00000000 10:08:46: 3fffff80: feef0105 00989680 00000000 feefeffe 10:08:47: 3fffff90: feefeffe feefeffe feefeffe 3ffee6cc 10:08:47: 3fffffa0: 3fffdad0 00000000 3ffee68c 40206158 10:08:47: 3fffffb0: feefeffe feefeffe 3ffe84e0 40100c3d 10:08:47: <<<stack<<< 10:08:47:
- une question : Quelqu'un a-t'il déjà utilisé un module SD SPI avec un esp12F ou un ESP32????
- et un appel au secours: Je suis à deux doigts de bouffer mes cartes
Merci de toute l'aide que vous pourrez m'apporter.
Partager