Аномалия с sd картой wemos

#include <SdFat.h>
#include <SPI.h>
#define SD_CS_PIN -1 // лучше указывать так,  отрицательные пины определенно положительно сказываются на работу некоторых модулей, 
//если указать D2  например и подключить к D8 то работает, 
//а если указать D2 и подключить на D2  пин CS, то через раз, не знаю сталкивался кто и обращал ли  внимание,   держу в курсе! полный пример кода скинуть не могу 

#include <ESP8266WiFi.h>
#include <ESPAsyncWebServer.h>
#include <SdFat.h>
#include <SPI.h>

const char* ssid = "xxxxxxxx";
const char* password = "xxxxxxxx";

AsyncWebServer server(80);
SdFat sd;
//#define SD_CS_PIN D2  // указываю D2 но подключаю к D8 и тогда работает к D2 через раз
const int8_t SD_CS_PIN = -1; // или вот так и опять же подключаю к D8, и все работает
FsFile file;          // Файл для записи
bool errorOccurred;   // Флаг ошибки
void handleFileUpload(AsyncWebServerRequest *request, String filename, size_t index, uint8_t *data, size_t len, bool final) {
}

void setup() {
Serial.begin(115200);
WiFi.softAP(ssid, password);
Serial.println("Access Point started");
Serial.print("IP: ");
Serial.println(WiFi.softAPIP());

// Инициализация SD-карты с пониженной скоростью SPI
if (!sd.begin(SD_CS_PIN, SD_SCK_MHZ(10))) {
Serial.println("Ошибка инициализации SD-карты!");
while (true) { delay(1000);} // Останавливаемся, чтобы не продолжать работу без SD
}
Serial.println("SD-карта инициализирована успешно.");
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
String html = "<html><body>";

request->send(200, "text/html", html);
});
server.on("/upload", HTTP_POST, [](AsyncWebServerRequest *request){}, handleFileUpload);
server.begin(); Serial.println("HTTP server started");
}

void loop() {}

кто то знает что это за аномалия ?))) и эта гадость отказывается проявлять себя на простом примере, вот тут ее видно, вроде… времени нету флудить)))

Чтобы указывать пин -1 надо для начала глянуть что делает код с этим -1)))

te238s быстренько вырезал из кода то что вам знать не надо))) и удалось скинуть пример с аномалией)))

Просто глянь что там происходит. Наверняка пин -1 отбрасывается и либо какой-то по-умолчанию назначается, либо вообще ничего не назначается.

Неужели ошибку не выводит?

времени нету))) это вам серьезная заявочка на пятницу, если интересно попробуйте сами разобраться)))

Никому неинтересно в пятницу твои проблемы решать.

1 лайк

sadman41 у меня творятся такие аномалии, и решаются так… если интересно в пятницу могли бы собрать и посмотреть… и на vs1053 не работает spi, так что не для себя)))… vs1053 только на уно запускается, и то все равно не могу получить доступ и с уно к sd… только проигрывание… не одного плеера со spi шиной и доступом к sd карте не нашел, их почти нет, и все только тупо воспроизводить файлы могут

На чем же он тогда работает?
Тем более, что на стандартном ардуиновскм шилде UART попросту не разведен. Так что ни на чем кроме SPI он работать не может.
Только процессор 16-разрядный, поэтому вместо одного байта ему нужно подавать пару.

Неправда.
Прекрасно работает как на других AVR (например, на Меге) так и на stm32.

А как по-вашему одна карта может работать одновременно с двумя устройствами?

Чип-Селект все же лучше указать явно.

то есть да на авр работает, а на esp не хочет что то…

надо дать пользователям пин, послал высокий значит дай поработать с картой другим, а не быть эгоистом, который постоянно с ней работает))) как то так))) нафига мне плеер с sd картой с которой я не могу работать… надо как то учитывать что мастеров может быть 2! плохо они сделали плеер…