Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 25.11.2009, 02:24   #1
Serj1987
Прохожий
 
Регистрация: 25.11.2009
Сообщений: 1
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Serj1987 на пути к лучшему
По умолчанию CodeVisionAVR 1.25 and ds1992

Добрый день!
Нужна ваша помощь в том чтоб разобраться в ридера к DS1992. среда разработки CodeVisionAVR 1.25. Опыт программирования AVR почти нет, сам программист на .NET. У меня вопрос, в модуле 1wire.h есть unsigned char w1_search(unsigned char cmd,void *p) метод, вопрос, можно ли получить доступ к страницам памяти DS1992?И как вообще получить доступ к SRAM? І как тогда записать в память??
Буду благодарен за любую помощь.
Реклама:
Serj1987 вне форума  
Непрочитано 25.11.2009, 14:11   #2
savarez
Частый гость
 
Регистрация: 09.11.2009
Сообщений: 26
Сказал спасибо: 10
Сказали Спасибо 9 раз(а) в 5 сообщении(ях)
savarez на пути к лучшему
По умолчанию Re: CodeVisionAVR 1.25 and ds1992

Действия с 1-wire устройствами всегда однотипно:
  1. Rest
  2. Команда выбора устройства
  3. Номер устройства
  4. Команда записи/чтения
  5. Отправка байтов на запись/получение байтов при чтении
  6. Reset

Но сначала надо найти устройства:

Код:
#define MAX_DEVICES     3 
#define FAMILY_CODE     0x08

char devices_codes[MAX_DEVICES][9];
char devices;

w1_init();
devices = w1_search(FAMILY_CODE, &devices_codes[0][0]);
Функция вернёт в devices количество найденных девайсов DS1992 по их Family Code 0x08 (см. даташит), а devices_codes - будет массив 64 битных кодов найденных устройств,

ну и далее можно с ними рабоать:
(комманды и последовательность действий подробно описаны в даташите)
Код:
#define	MATCH_ROM		0x55  
#define	WRITE_SCRATCHPAD 	0x0F

char i;
char data[2] = {'Х', 'У'};  // два байта, что будем записывать в память

for (i=0; i‹devices; i++)
{
	w1_init(); 		// отправка reset
	w1_write(MATCH_ROM);  	// команда выбора определённого девайса
	w1_write(&device_codes[i][0]);  // код девайса
	w1_write(WRITE_SCRATCHPAD); // команда записи
	w1_write(0x26);  	// передача этих двух байтов определят позицию записи 
	w1_writre(0x00); 	// снчала LSB, потом MSB. здесь мы пишем в позицию памяти 0026h
	w1_write(data[0]);   	// пишем первый байт наших данных
	w1_writre(data[1]); 	// пишем второй байт наших данных 
	w1_init(); 		// на всякий случай резетим, говорим спасибо и выходим
}
Чтение делается аналогично. Можно считывать память побайтово. Можно получить её всю. Если устройство на линии одно - с ним можно работать не используя его номер, и заменив MATCH_ROM на SKIP_ROM.
Всё написано в даташите с примером последовательностей и кодами команд.

Да, и ещё одно - Scratchpad сохранится в постоянной памяти устройства только после команды Copy Scratchpad. В противном случае после отключения питания эти данные пропадут.

Полная последовательность действий при записи:
  1. Записать
  2. Считать и проверить, что всё ок (для эстетов)
  3. Инициировать копирование в EEPROM устройства.

Последний раз редактировалось savarez; 25.11.2009 в 14:17.
savarez вне форума  
Сказали "Спасибо" savarez
Serj1987 (03.12.2009)
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 02:28.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot