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

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

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

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

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

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

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы

Датчики температуры Ds18b20 на ATMEGA88, постоянно выводится -9999.0

Непрочитано 29.05.2016, 15:01  
Штейн
Прохожий
 
Регистрация: 29.05.2016
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Штейн на пути к лучшему
По умолчанию Датчики температуры Ds18b20 на ATMEGA88, постоянно выводится -9999.0

Извиняюсь, если такая тема была и осталась мной не замечена, но все же спрошу вас, уважаемые форумчане, о помощи, ибо совсем без сил и мозгов остался из-за попыток решить проблему.
Нужно организовать опрос датчиков температуры и вывод их значений на ЛСД, на МЕГА8 все работает, а на МЕГЕ88 оно выкобенивается как может. Помогите разобраться, где что не так?

PHP код:
#include ‹mega88.h›
#include ‹delay.h›
#asm
   .equ __w1_port=0x0B ;PORTD
   .equ __w1_bit=0
#endasm
#include ‹1wire.h›
#include ‹ds18b20.h›
#include ‹stdio.h›

//#define MAX_DS18B20 8
unsigned char ds18b20_devices;
unsigned char ds18b20_rom_codes[2][9];

#asm
   .equ __lcd_port=0x05 ;PORTB
#endasm
#include ‹lcd.h› 
 
char lcd_buf[33];


void main(void)
{
ds18b20_devices=w1_search(0xf0,ds18b20_rom_codes);
  
lcd_init(16);
   
w1_init();
 ds18b20_init( &ds18b20_rom_codes[0][0], -30, 60, DS18B20_12BIT_RES ); 
 ds18b20_init( &ds18b20_rom_codes[1][0], -30, 60, DS18B20_12BIT_RES );

while (1)
      {
            sprintf( lcd_buf,"t1=%.1f\xdfC t2=%.1f\xdfC", ds18b20_temperature(&ds18b20_rom_codes[0][0]),ds18b20_temperature(&ds18b20_rom_codes[1][0]) );
            lcd_gotoxy(0,0);
            lcd_puts( lcd_buf );
      };
      
} 
В Си не шибко силен, так что тыкнете носом в ошибку, поясните дураку.
Если ошибки в коде нет, то почему вместо значений с датчиков у меня показывается -9999.0?
Сам работаю в Proteus'e и в CVAVR/
Миниатюры:
Нажмите на изображение для увеличения
Название: проблема.JPG
Просмотров: 0
Размер:	71.4 Кб
ID:	93388  
Реклама:
Штейн вне форума  
Непрочитано 29.05.2016, 15:34  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 11,131
Сказал спасибо: 202
Сказали Спасибо 3,285 раз(а) в 2,151 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Датчики температуры Ds18b20 на ATMEGA88, постоянно выводится -9999.0

мля)) улыбают такие темы конечно....
я вот когда начал разбираться в этих датчиках я все делал с нуля и разбирался во всем по битам.
сначала я порсто создал функцию ресета и посморел осцилом что дс1820 отвечает. увидел что отвечает.
потом создал команду и посмотрел опять же чо в ответ приходит. оказалось не то приходит. - исправил.
и так далее.
в итоге программа на 4 страницы вышла со всеми циклами задержками подпрограммами.
а тут чо??? что касается дс1820 всего 3 строки!! помогите не работает.
да чо помогать то? там 98% кода в инклюдах.
тут надо раскуривать всё заместо тебя. а нах оно надо.
а ты даже не понял чо инклюды надо приложить.
так что учи си а потом работай
__________________
кагмаподэ магмаподэ

Последний раз редактировалось индюк; 29.05.2016 в 15:45.
индюк вне форума  
Непрочитано 29.05.2016, 15:50  
Штейн
Прохожий
 
Регистрация: 29.05.2016
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Штейн на пути к лучшему
По умолчанию Re: Датчики температуры Ds18b20 на ATMEGA88, постоянно выводится -9999.0

Сообщение от индюк Посмотреть сообщение
а ты даже не понял чо инклюды надо приложить
И какие же именно "инклюды надо приложить"? Библиотеки датчиков включены, протокола и библиотека мк тоже.
Знаете, если бы работа не требовала этих датчиков, то я бы и не трогал их. Во всех уроках по AVR, что находил, так и были везде эти 3 строки.
Ну а если вам так сложно помочь, то могли бы и не писать.
Штейн вне форума  
Непрочитано 29.05.2016, 15:50  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 11,131
Сказал спасибо: 202
Сказали Спасибо 3,285 раз(а) в 2,151 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Датчики температуры Ds18b20 на ATMEGA88, постоянно выводится -9999.0

маин начинается с хрен пойми с чего.
почитай описание шины то хоть - там идет ресет, презенс, а уж только потом поиски там всякие

__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 29.05.2016, 15:58  
Штейн
Прохожий
 
Регистрация: 29.05.2016
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Штейн на пути к лучшему
По умолчанию Re: Датчики температуры Ds18b20 на ATMEGA88, постоянно выводится -9999.0

А простыми словами, специально для дятла, в чем ошибка? Еще раз повторюсь, если бы не задали сделать этот проект я бы в протеус с cvavr не сунул бы и носа. Поймите, нам на парах НИ СЛОВА про этот весь ужас не рассказывали. Просто: "Вот Протеус, вот программа - делайте".
Штейн вне форума  
Непрочитано 29.05.2016, 15:59  
Ara41
Почётный гражданин KAZUS.RUN
 
Регистрация: 30.09.2006
Сообщений: 1,557
Сказал спасибо: 157
Сказали Спасибо 660 раз(а) в 430 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Датчики температуры Ds18b20 на ATMEGA88, постоянно выводится -9999.0

для начала надо бы приложить проекты CV и протеуса.
Почему у Вас сперва идет поиск датчиков на шине, а потом w1_init()?

Каждый, кто приходит сюда с подобными вопросами, утверждает, что на парах ни слова не говорили про... О чем хоть говорят на парах?
Ara41 вне форума  
Непрочитано 29.05.2016, 16:03  
Штейн
Прохожий
 
Регистрация: 29.05.2016
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Штейн на пути к лучшему
По умолчанию Re: Датчики температуры Ds18b20 на ATMEGA88, постоянно выводится -9999.0

Вот проект, чтоб его за ногу...
Вложения:
Тип файла: rar проблема.rar (147.5 Кб, 0 просмотров)
Штейн вне форума  
Непрочитано 29.05.2016, 16:06  
Штейн
Прохожий
 
Регистрация: 29.05.2016
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Штейн на пути к лучшему
По умолчанию Re: Датчики температуры Ds18b20 на ATMEGA88, постоянно выводится -9999.0

Препод с темы вечно съежает для обсуждения его охиретительных историях на производстве. И как с ним доучились два курса до сих пор не понимаю
Штейн вне форума  
Непрочитано 29.05.2016, 16:44  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 11,131
Сказал спасибо: 202
Сказали Спасибо 3,285 раз(а) в 2,151 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Датчики температуры Ds18b20 на ATMEGA88, постоянно выводится -9999.0

а самому то что, не по силам по битам разобраться как и что проц посылает на шину????
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 29.05.2016, 16:45  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 11,131
Сказал спасибо: 202
Сказали Спасибо 3,285 раз(а) в 2,151 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Датчики температуры Ds18b20 на ATMEGA88, постоянно выводится -9999.0

Сообщение от Штейн Посмотреть сообщение
Поймите, нам на парах НИ СЛОВА про этот весь ужас не рассказывали.
а в мои времена на парах вообще только электромагниты проходили. и я как то сам вот сел и написал с нуля все
__________________
кагмаподэ магмаподэ
индюк вне форума  
Сказали "Спасибо" индюк
geraskf (30.05.2016)
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ds18b20 и atmega8 вывод температуры с десятичным знаком yuta_86 AVR 38 02.01.2013 18:05
Датчики температуры для агрессивных сред ramzes44 Производственное оборудование 9 02.11.2010 23:27


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.