Страница 1 из 1

Библиотека 1-Wire в CodeVisionAvr

Добавлено: Пн сен 29, 2008 02:58:07
Slawo
В библиотеке 1-Wire CodeVisionAvr 5 функций:
w1_init(void);
w1_read(void);
w1_write(unsigned char data);
w1_search(unsigned char cmd,void *p);
w1_dow_crc8(void *p,unsigned char n);

Что из них делает каждая и в какой последовательности их нужно использовать?

Сколько байт будет читать команда w1_write?
Правильно ли я понимаю, что послать необходимую команду устройству нужно функцией w1_search?

Добавлено: Пн сен 29, 2008 06:43:53
tych
Вот пример из CVAVR

Re: Библиотека 1-Wire в CodeVisionAvr

Добавлено: Пн сен 29, 2008 10:41:09
KIP
Slawo писал(а):В библиотеке 1-Wire CodeVisionAvr 5 функций:
w1_init(void);
w1_read(void);
w1_write(unsigned char data);
w1_search(unsigned char cmd,void *p);
w1_dow_crc8(void *p,unsigned char n);

Что из них делает каждая и в какой последовательности их нужно использовать?
Это в зависимости от типа устройства-функционального назначения, от их количества.

Добавлено: Пн сен 29, 2008 11:13:37
Krik99
Можно этой либой устроить связь между двумя МК ?

Добавлено: Пн сен 29, 2008 12:32:23
Pavel_1978
Подробно про 1-Wire описано тут: http://www.elin.ru/1-Wire/?topic=whatis там же куча примеров.

Добавлено: Пн сен 29, 2008 14:10:45
Slawo
Спасибо, но мне бы хотелось узнать что делают именно те функции. В принципе все функции по работе с 1-Wire могу и сам написать, но если уж есть готовая библиотека да и времени не оч много, почему бы ей не воспользоваться

Добавлено: Пн сен 29, 2008 14:21:24
tych
Slawo писал(а):Спасибо, но мне бы хотелось узнать что делают именно те функции.
Да вроде по названиям ОЧЕВИДНО что они делают ! Кроме разве что w1_dow_crc8(void *p,unsigned char n); - да и то CRC выдает с потрохами.

А что конкретно делают можно посмотреть в ХЕЛП наверно и ТОЧНО в листинге .LST после копиляции - там ни чего не скроешь.

Добавлено: Пн сен 29, 2008 14:24:24
Секретный кот
Krik99 писал(а):Можно этой либой устроить связь между двумя МК ?
Это вряд ли, т.к. эта либа реализует протоколы работы мастера, а для связи двух МК один из них должен быть слейвом. Прогу слейва, я так понял, писать надо только ручками.

Добавлено: Пн сен 29, 2008 16:06:59
Slawo
Да вроде по названиям ОЧЕВИДНО что они делают.
Да наверно я переволновался, а то ночь глубоченная на дворе :)))

Добавлено: Вт май 05, 2009 10:29:53
clawham
Здравствуйте знатоки!
Вот назрел такой же вопрос!
У меня есть то же термометр DS18b20 и всё с ним хорошо в соседней ветке я описал как раз в пол секунды 5 термометров обновить с разрешением в 12 бит НО! есть одно но....на стадии попыток был такой фокус как вручную посылать по байтам ром команду ром адрес дев команду и ждать ответа....так вот ответы от Дски были всегда 255 в функции w1_read(void)...
пришлось лезть в память выколупывать скретчпад DS ки ... а у меня например в планах подвешать парочку 4-хканальных 16-тибитных АЦП на шинку 1Wire и что же? как мне теперь получить к ним доступ?
Писать свою библиотеку для 1wire ну чтото совсем не стоит у меня желания....понять бы как эти функции работают