Логгер часть 4

Автор: callous_vk от 14-07-2013, 22:51, посмотрело: 1244

0
Несколько слов о работе с RTC и SD картой, а также о меню.
RTC:
Для работы с DS1307 я использую стороннюю библиотеку i2c_rtc.rar [2,77 Kb] (cкачиваний: 60). Скажу лиш пару слов касательно преобразования считанных данных:
Логгер часть 4

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

perem_preobr - значение которое необходимо записать.

void conversion_time()
{
for (s=0;s<2; s++)
{
digital[s]=perem_preobr%10;
perem_preobr/=10;
}
digital[1]=digital[1]<<4;
perem_preobr=digital[1] | digital[0];
};

Например: число 20 в бинарном виде 0b00010100, но для записи в часы число должно иметь вид: 0b00100000.

При чтении значения с часов делаем такое преобразование данных:

perem - значение которое прочитали и необходимо отображать.

void preobr ()
{
perem1=perem;
perem2=perem;
perem2 = perem2 & 0x0F;
perem1=perem1>>4;
perem=((perem1*10)+perem2);
}

Меню:
В начале работы если выбран вход в меню, то МК читает значение с часов и отображает его как текущее в меню. В конце меню при выборе частоты записи данных на МК "Up_t" при выделении последней переменной (секунды) и нажатии кнопки "En" происходит запись времени выборки в EEPROM память МК. Для выхода из меню на последней переменной необходимо нажать "Es".

SD карта:
Для записи на карту памяти необходимо чтобы карта была отформатирована в формате FAT16 -FAT32, и на ней должен быть создан пустой файл temp.txt иначе запись на карту идти не будет. МК не создает файл на карте памяти!!! Библиотека для работы с картой памяти SD.rar [34,73 Kb] (cкачиваний: 45)

Первая часть статьи
Вторая часть статьи
Третья часть статьи

Категория: Микроконтроллеры

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.