• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP8266 + SD/MMC + FAT16/32 Demo

idnull

New member
Решил сделать и выложить пример работы с картой папяти и файловой системой fat для esp8266 (вдруг кому-нибудь пригодиться как шаблон ).
Пример просто печатает в консоль содержимое всех директорий на карте памяти ..
Примерно вот так:
test.png
Подключение:
GPIO12 - MISO
GPIO13 - MOSI
GPIO14 - CLOCK
GPIO15 - CS / SS
SPI интерфейс - аппаратный HSPI.

Выглядит как-то так (maple mini сдесь - для прошивки и с него берётся питание 3.3в )
J0uegIK2iMM.jpg

Скачать
https://www.dropbox.com/s/89zihpo18ck0van/Fat32_demo.zip?dl=0
(Проект для Espressif-ESP8266-DevKit-v2.0.6-x86)

Описание API FAT16/32 здесь: http://elm-chan.org/fsw/ff/00index_e.html
 

Meinframe

New member
Скажите пожалуйста, а чтобы использовать как шаблон для работы просто с SPI, достаточно лишь взять файлы
/driver/spi.c
/driver/uart.c
/include/driver/spi.h
/include/driver/spi_register.h
/include/driver/uart.h
/include/driver/uart_register.h
/include/user_config.h
и переделать user_main.c под задачи для соединения по SPI (init, rx, tx и т.д.) ?
 

idnull

New member
если только spi - достаточно
/driver/spi.c
/include/driver/spi.h
/include/driver/spi_register.h

в user_main.c - spi_init(); для инициализации
и spiwrite(uint8) - для передачи и приёмы (сдесь spi в дуплексном режиме )
+ в spi.h
подобрать делители
[HASHTAG]#define[/HASHTAG] SPI_CLK_PREDIV
[HASHTAG]#define[/HASHTAG] SPI_CLK_CNTDIV
для нужной вам скорости.
вроде как этого должно хватить.
 

Meinframe

New member
Подскажите пожалуйста, в spi_register.h какие переменные отвечают за SPI_SS, чтобы выставлять high или low.
 

idnull

New member
в данном примере select slave аппаратно выставляеться в low перед началом передачи и в high полсе окончания..
это можно отключить
в spi_init строчкой SET_PERI_REG_MASK(SPI_USER(HSPI), SPI_CS_SETUP|SPI_CS_HOLD);
если закоментировать - то управление SPI_SS придёться делать самому через gpio

а если подробнее то смотреть тут
 

Вложения

Elik

New member
Подключаю СД напрямую к SPI, пины 12 по 15, скорость ну очень низкая, картинку весом 1мег грузит за 46 секунд. Подскажите как с этим бороться? Нужна приемлемая скорость загрузки с СД карточки...
 
Сверху Снизу