DS18b20 + ATTiny2313 = -79
DS18b20 + ATTiny2313 = -79
Доброго времени суток.
Собрал я термометр. Всё работает, на иногда (не всегда) при чтении температуры из датчика на дисплее выскакивает -79. В чём проблема???
Прошивка вот: Проект в CVAVR:
Собрал я термометр. Всё работает, на иногда (не всегда) при чтении температуры из датчика на дисплее выскакивает -79. В чём проблема???
Прошивка вот: Проект в CVAVR:
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
- Реклама
Re: DS18b20 + ATTiny2313 = -79
up
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Re: DS18b20 + ATTiny2313 = -79
Помогите!!!!

Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: DS18b20 + ATTiny2313 = -79
это нормально. Вы применяете готовую библиотеку далласовского датчика, а затем мешаете ей своими прерываниями таймера.
перепишите библиотеку сами.
перепишите библиотеку сами.
Re: DS18b20 + ATTiny2313 = -79
Спасибо большое! Я писать библиотеки не умею, так что буду перед чтением отключать таймер, выводить вместо прерывания 0b00, а после чтения включать таймер. Как думаете, работать будет???
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
- Реклама
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: DS18b20 + ATTiny2313 = -79
...в этом нет ничего сложного*Trigger* писал(а):Я писать библиотеки не умею....
Код: Выделить всё
uchar DS18b20_init(void){
uchar cnt;
DDRD.Ds18b20=1; // линию в "0"
delay_us(480);
#asm("cli")
DDRD.Ds18b20=0; // отпустим линию
delay_us(5);
cnt=20;
while(cnt--){ // ждем ответа 50 мкс
if(PIND.Ds18b20==1){ delay_us(1);}
else {
#asm("sei")
delay_us(480);
goto end_init; }
}
#asm("sei")
end_init:
return cnt;
}
Re: DS18b20 + ATTiny2313 = -79
Поясните, пожалуйста, как работают эти строки.ChipKiller писал(а):Код: Выделить всё
cnt=20; while(cnt--){ // ждем ответа 50 мкс if(PIND.Ds18b20==1){ delay_us(1);}
В даташите http://pdf1.alldatasheet.com/datasheet- ... 18B20.html на странице 20 мне не понятно, что значат заштрихованные поля. И что значат диаграммы, где написано 15, 15, и 30 us (и подобные)???
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: DS18b20 + ATTiny2313 = -79
*Trigger* писал(а):Поясните, пожалуйста, как работают эти строки.
Код: Выделить всё
........
cnt=20;
while(cnt--){ // ждем ответа 50 мкс
if(PIND.Ds18b20==1){ delay_us(1);} // если Ds18b20 не ответил "0" ждем ....
else { // отклик Ds18b20 (при этом cnt!=0) - даем задержку 480us
#asm("sei")
delay_us(480);
goto end_init; }
}
#asm("sei")
end_init:
return cnt; ... если "все так плохо", погуглите есть перевод datasheeta на русском*Trigger* писал(а):что значат заштрихованные поля
Re: DS18b20 + ATTiny2313 = -79
Под заштрихованными полями я имел в виду косую штриховку (редкую). Вменяемого перевода я не нашёл.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: DS18b20 + ATTiny2313 = -79
... вот "невменяемый" http://usbsergdev.narod.ru/DOC/DS18B20_RU.pdf*Trigger* писал(а):Вменяемого перевода я не нашёл.
Re: DS18b20 + ATTiny2313 = -79
Спасибо.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.


