реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Нужны реальные исходники для DS18B20 и WINAVR, на шине 1 датчик (просто запарился от обилия разной информации)
011119xx
сообщение Jan 22 2008, 11:23
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Прошу простить за открытие темы, т. к. такие уже были. Нужны реально рабочие исходники, а не список ссылок, этого у меня навалом. Простите.
Go to the top of the page
 
+Quote Post
GDI
сообщение Jan 22 2008, 11:52
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



А по ссылкам нереальные и не рабочие дают? smile.gif


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 22 2008, 12:04
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(011119xx @ Jan 22 2008, 15:23) *
Прошу простить за открытие темы, т. к. такие уже были. Нужны реально рабочие исходники, а не список ссылок, этого у меня навалом. Простите.

Вы знаете, при работе с DS1820 из оборудования применяется только одна линия порта (иногда таймер для формирования задержек). Поэтому запрошенные вами исходники написанные на Си будут максимально не зависимы от компилятора. Иными словами подойдут ЛЮБЫЕ. Здесь их предлагалось - куча. В том числе и мной. Исходя из множества постов, что в WinAVR какие то непонятки с формированием задержки средствами компилятора (точнее непонятки у людей), я думаю что у вас таже проблема. Там только одна задача - правильно сформировать временную диаграмму.

Для того, чтобы сдвинуться с мёртвой точки напишите текст типа "выставить единицу-задержка 1-выставить 0 -задержка 2" и проверьте правильность формирования по осциллографу.
Go to the top of the page
 
+Quote Post
011119xx
сообщение Jan 22 2008, 12:05
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Не чьи-то там а свои предлагайте. инициализация у меня проходит, а при чтении температуры читается 0xFF.

Сообщение отредактировал 011119xx - Jan 22 2008, 12:07
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 22 2008, 12:22
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(011119xx @ Jan 22 2008, 16:05) *
Не чьи-то там а свои предлагайте. инициализация у меня проходит, а при чтении температуры читается 0xFF.

При чём здесь инициализация?????
Можете и мои брать - я их для того и выкладывал чтобы брали. У меня правда IAR.
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Jan 22 2008, 12:37
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



18S20 не подойдет?
Go to the top of the page
 
+Quote Post
011119xx
сообщение Jan 22 2008, 12:43
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Цитата(Qwertty @ Jan 22 2008, 17:37) *
18S20 не подойдет?

не знаю. надо сравнивать. у меня на руках только 18B20
Go to the top of the page
 
+Quote Post
GDI
сообщение Jan 22 2008, 12:49
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



У 18S20 другой код устройства а в остальном они совместимы... Но, имхо, имея на руках кучу исходников, добавка еще одного не даст ничего, если нет глобального понимания работы железа и выбранного компилятора.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Jan 22 2008, 13:09
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



Цитата(GDI @ Jan 22 2008, 15:49) *
У 18S20 другой код устройства а в остальном они совместимы... Но, имхо, имея на руках кучу исходников, добавка еще одного не даст ничего, если нет глобального понимания работы железа и выбранного компилятора.

Не только код. Еще разное количество значащих бит в регистре температуры, у s20 разрешающая способность == 0.5С, у B20 ==0.0625С. А код устройства при одном датчике вообще не важен - SKIP_ROM и нет проблем.
Go to the top of the page
 
+Quote Post
Dmitry77
сообщение Jan 22 2008, 20:24
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 3-09-06
Из: Архангельск
Пользователь №: 20 038



Выкладываю реально рабочий проект....Писал не я, но использовал приведенные функции и все работает отлично!! Написано под WinAVR.....Пользуйтесь на здоровье!!
Прикрепленные файлы
Прикрепленный файл  1wire_termometr.rar ( 8.18 килобайт ) Кол-во скачиваний: 269
 
Go to the top of the page
 
+Quote Post
011119xx
сообщение Jan 23 2008, 03:55
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Цитата(Dmitry77 @ Jan 23 2008, 01:24) *
Выкладываю реально рабочий проект....Писал не я, но использовал приведенные функции и все работает отлично!! Написано под WinAVR.....Пользуйтесь на здоровье!!

Спасибо большое. Буду пробовать.
Go to the top of the page
 
+Quote Post
011119xx
сообщение Jan 23 2008, 06:50
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Инициализация проходит: выдаю низкий уровень на 520 мкс, освобождаю шину и DS через 30 мкс удерживает ее в нуле в течение 100 мкс, потом отпускает. Интервал записи 1: выдаю низкий уровень на 10 мкс, освобождаю шину на 50+10 мкс. Интервал записи 0: выдаю низкий уровень на 60 мкс и овобождаю шину на 10 мкс.
Замерено осциллографом. При чтении DS почему-то во всех битах идет 1. Проблема с интервалами чтения как мне кажется. Буду смотреть дальше.

Питание у меня 3,3В. Может в этом проблема.

Сообщение отредактировал 011119xx - Jan 23 2008, 06:54
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 23 2008, 08:35
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(011119xx @ Jan 23 2008, 10:50) *
Питание у меня 3,3В. Может в этом проблема.

Это не проблема
Go to the top of the page
 
+Quote Post
011119xx
сообщение Jan 23 2008, 08:40
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Цитата(SasaVitebsk @ Jan 23 2008, 13:35) *
Это не проблема

Сейчас пробую вашу библиотеку. Как в главной функции правильно использовать библиотеку?
Можно так?

u16 ds;
int main(void)
{
//Инициализация прочего

convert_temp_short();
for(u8 i=0; i<80; i++) _delay_ms(10);
ds = read_temp_short();

while(1)
{
//Передача значения ds по usart
}
}

Сообщение отредактировал 011119xx - Jan 23 2008, 09:08
Go to the top of the page
 
+Quote Post
011119xx
сообщение Jan 23 2008, 10:41
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Заработала библиотека от SasaVitebsk
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 21:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01488 секунд с 7
ELECTRONIX ©2004-2016