Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

ESP8266 + SD/MMC + FAT16/32 Demo

Тема в разделе "Другие проекты", создана пользователем idnull, 21 июл 2015.

Метки:
  1. idnull

    idnull Читатель

    Сообщения:
    23
    Симпатии:
    17
    Решил сделать и выложить пример работы с картой папяти и файловой системой 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
     
    af1283, Meinframe, aloika и 2 другим нравится это.
  2. Meinframe

    Meinframe Новичок

    Сообщения:
    19
    Симпатии:
    0
    Скажите пожалуйста, а чтобы использовать как шаблон для работы просто с 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 и т.д.) ?
     
  3. idnull

    idnull Читатель

    Сообщения:
    23
    Симпатии:
    17
    если только 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 нравится это.
  4. Meinframe

    Meinframe Новичок

    Сообщения:
    19
    Симпатии:
    0
    Подскажите пожалуйста, в spi_register.h какие переменные отвечают за SPI_SS, чтобы выставлять high или low.
     
  5. idnull

    idnull Читатель

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

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

    Вложения:

  6. Meinframe

    Meinframe Новичок

    Сообщения:
    19
    Симпатии:
    0
    А в Вашем примере INT не используется?
     
  7. idnull

    idnull Читатель

    Сообщения:
    23
    Симпатии:
    17
    Можно подробнее, я что-то не совсем понял вопрос..
     
  8. FGX

    FGX Читатель

    Сообщения:
    100
    Симпатии:
    9
    Спасибо, хорошая вещь.
     
  9. Elik

    Elik Новичок

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

Поделиться этой страницей