SD/MicroSD в качестве энергонезависимой памяти.

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем DrOnJD, 20 ноя 2016.

  1. DrOnJD

    DrOnJD Нерд

    День добрый.
    Тема не является вопросом, а даже наоборот. Хочу поделиться опытом.

    Вдохновившись темой на форуме в которой ИгорьК рассказал как можно организовать энергонезависимую память на микросхеме AT24C04B по I2C шине, увидел, что для моих целей памяти этой микросхемы и её вариаций недостаточно. И решил поинтересоваться возможно ли без дополнительных контроллеров подключить SD карту. Оказалось можно. Как раз этим и хочу с вами поделиться.

    [​IMG]

    Это слегка упрощенный код из моего проекта.
    Код (Javascript):
    SPI1.setup({mosi:P3, miso:P2, sck:A5});
    E.connectSDCard(SPI1, P5);
    var fs = require("fs");
    var fileWrite;
    var fileRead;
    var res;
    if(!fs.readdirSync().filter(function(item){ return item === 'data.json' })[0]) {
        fs.writeFileSync('data.json', 'Hello World');
    }
    var write = function(val){
      let length = ((val.toString().length/10000).toFixed(4).toString()).replace('.', '');
      fileWrite = E.openFile("data.json","w");
      res = fileWrite.write(length + '' + val);
      fileWrite.close();
      return res;
    }
    var read = function(){
      fileRead = E.openFile("data.json","r");
      let length = parseInt(fileRead.read(5), 10);
      res = fileRead.read(length);
      fileRead.close();
      return res;
    }
    console.log(fs.readFileSync("data.json"));
    Ссылки которые могут помочь:
     
    Последнее редактирование: 21 ноя 2016
    sys и ИгорьК нравится это.
  2. sys

    sys Злобный Буратино Модератор

    console.log(fs.readFileSync("data.json")); еще укоротил ;)

    З.Ы. Для тех у кого Pico могут посмотреть http://www.espruino.com/File+IO
     
  3. DrOnJD

    DrOnJD Нерд

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