Перейти к содержанию
    

Разобраться в библиотеке SD_MMC.h

Привет. Ищу человека, который поможет разобраться на материальной основе с библиотекой для ESP32. Вот ссылка https://github.com/espressif/arduino-esp32/tree/master/libraries/SD_MMC/examples

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помочь в чем
Пожно прикрутить к вашему проекту либу чтобы работала
А дальше сами
Иначе зачем все начинать если не можете сами разобраться

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помочь запустить пример из папки с примерами. А дальше я сам. Также показать как писать на карту памяти используя эту библиотеку и пояснить как менять частоту. 

 if(!SD_MMC.begin(SDMMC_FREQ_DEFAULT)){
        Serial.println("Card Mount Failed");
      //  return;
    }

Не получается(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/23/2021 at 9:27 PM, Amalyn said:

Привет. Ищу человека, который поможет разобраться на материальной основе с библиотекой для ESP32. 

Этот пример рабочий, у меня он работал. У вас карта не может стартануть на этапе инициализации, которая производится на пониженной частоте. Скорее всего что-то с железом.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

25.01.2021 в 09:28, Linker сказал:

Этот пример рабочий, у меня он работал. У вас карта не может стартануть на этапе инициализации, которая производится на пониженной частоте. Скорее всего что-то с железом.  

Да, уже пример заработал, после того как заменил все. но период  120 мкс несущей. что мне кажется как то низко. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, Amalyn said:

Да, уже пример заработал, после того как заменил все. но период  120 мкс несущей. что мне кажется как то низко. 

После инициализации карты, частота поднимается. У меня работала на 20МГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

частота шины может подстраиваться под обстоятельства? например у меня провода по 5 см.. монтаж навесной но без разьемов, все припаяно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Навесной монтаж как положено ровным шлейфом с землей звездой, или взрыв на макаронной фабрике, как любят в ардуино? Если второе, то проблема однозначно в монтаже.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 hours ago, Amalyn said:

частота шины может подстраиваться под обстоятельства? например у меня провода по 5 см.. монтаж навесной но без разьемов, все припаяно

Может подстраиваться, но не автоматически. Вам нужно вручную изменить тактовую частоту

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

#define  SDMMC_FREQ_DEFAULT
#define SDMMC_FREQ_HIGHSPEED
# define  SDMMC_FREQ_52M

Я пытался вот так, но изменений не видел. Монтаж ровным 10 жильным шлейфом, может кабель экранированный попробовать? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 hours ago, Amalyn said:

#define  SDMMC_FREQ_DEFAULT
#define SDMMC_FREQ_HIGHSPEED
# define  SDMMC_FREQ_52M

Я пытался вот так, но изменений не видел. Монтаж ровным 10 жильным шлейфом, может кабель экранированный попробовать? 

Вам нужно научиться пользоваться дефайнами, здесь они у вас ничего не определяют. Дело не в кабеле. Вам нужно найти в программе момент, где происходит смена частоты на более высокую после инициализации карты и поставить нужную. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

SD_MMC.begin(SDMMC_FREQ_DEFAULT);

Вот в этой части я менял. но частота не менялась. Хотя программу ошибок не выдавала

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Amalyn said:

SD_MMC.begin(SDMMC_FREQ_DEFAULT);

Вот в этой части я менял. но частота не менялась. Хотя программу ошибок не выдавала

И чему собственно равно SDMMC_FREQ_DEFAULT ?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понимаю, что все эти константы определены в sdmmc_types.h, ну а в нем прописаны значения

 

#define SDMMC_FREQ_DEFAULT      20000       /*!< SD/MMC Default speed (limited by clock divider) */
#define SDMMC_FREQ_HIGHSPEED    40000       /*!< SD High speed (limited by clock divider) */
#define SDMMC_FREQ_PROBING      400         /*!< SD/MMC probing speed */
#define SDMMC_FREQ_52M          52000       /*!< MMC 52MHz speed */
#define SDMMC_FREQ_26M          26000       /*!< MMC 26MHz speed */

 

так же пытался ставить сразу числовые значения частоты в begin, но безуспешно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...