Технический форум по робототехнике.
crashzoom » 04 июн 2009, 17:37
Пытаюсь реализовать проект чтения, записи в eeprom и сверки ключей ds1990 в CodeVision.
В самой CV есть пример реализации чтения ds1990, с ним я разобрался но немогу разобраться как произвести запись полученного кода ключа в eeprom, а потом сравнить его с новым ром-кодом.
- Код: Выделить всё • Развернуть
if (w1_init()){ //Смотрим присутствует ли на линии устройства
devices=w1_search(0xF0,rom_code); // Считываем количество устройств и их ром-коды
if (rom_code[0]==1){ // Если ром-код принадлежит ds1990
printf("DS1990 #%u serial number:",n); // Производим вывод по USARTу
for (j=1;j<=6;j++){
printf(" %02X",rom_code[j]);
}
printf("\n\r");
}
}
USER777 » 04 июн 2009, 21:41
В ICCAVR 7 было бы примерно так:
- Код: Выделить всё • Развернуть
[b]псевдокод[/b]
#include <eeprom.h>
void eprom_W(void)
{
unsigned char i;
for (i=1;i<=6;i++)
{
EEPROM_WRITE(i-1,rom_code[i]);//запись в епром (адр,данн)
}
}
//чтение EEPROM_READ(adr,data );
SERGEY_M » 04 июн 2009, 22:15
В CV очень просто работать с EEPROM
создаешь переменную или массив
например
eeprom char E_rom_code;или
eeprom char E_rom_code[]={};а потом тупо в них пишешь или читаешь как обычные переменные
CV сам все устроит

crashzoom » 05 июн 2009, 10:07
А каким образом можно записать несколько ром ключей в eeprom, чтоб можно было впоследствие их считывать и сравнивать с присоединенным ключем iButton?
galex1981 » 05 июн 2009, 10:24
А также как и один ключ, считывать их также по адресу в памяти
crashzoom » 05 июн 2009, 10:34
В этом как раз и загвоздка. Немогу найти нормальную информацию по работе с eeprom в CV. Как можно записать масив с данными в eeprom по определенному адресу, Как стереть массив с данными по определенному адресу?
rig » 05 июн 2009, 12:28
зачем адрес? создаем массив элементов, пишем читаем по номеру элемента.
все как с озу
crashzoom » 05 июн 2009, 12:58
Я так понял создаем двумерный массив
eeprom char E_rom_code[i,j];
где i - номер девайса
j - ром-код ключа
Правильно я понял?
executer » 05 июн 2009, 13:03
Да. Все в один массив. 1- или 2-х мерный - как уж удобней обращатся тебе будет