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

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

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

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

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

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

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

 
Опции темы
Непрочитано 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], -3060DS18B20_12BIT_RES ); 
 
ds18b20_init( &ds18b20_rom_codes[1][0], -3060DS18B20_12BIT_RES );

while (
1)
      {
            
sprintflcd_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_putslcd_buf );
      };
      

В Си не шибко силен, так что тыкнете носом в ошибку, поясните дураку.
Если ошибки в коде нет, то почему вместо значений с датчиков у меня показывается -9999.0?
Сам работаю в Proteus'e и в CVAVR/
Миниатюры:
Нажмите на изображение для увеличения
Название: проблема.JPG
Просмотров: 0
Размер:	71.4 Кб
ID:	93388  
Реклама:
Штейн вне форума  
Непрочитано 29.05.2016, 15:34  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,402
Сказал спасибо: 176
Сказали Спасибо 3,128 раз(а) в 2,017 сообщении(ях)
индюк на пути к лучшему
По умолчанию 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
Адрес: мурмурляндия
Сообщений: 10,402
Сказал спасибо: 176
Сказали Спасибо 3,128 раз(а) в 2,017 сообщении(ях)
индюк на пути к лучшему
По умолчанию 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.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
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
Адрес: мурмурляндия
Сообщений: 10,402
Сказал спасибо: 176
Сказали Спасибо 3,128 раз(а) в 2,017 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Датчики температуры Ds18b20 на ATMEGA88, постоянно выводится -9999.0

а самому то что, не по силам по битам разобраться как и что проц посылает на шину????
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 29.05.2016, 16:45  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,402
Сказал спасибо: 176
Сказали Спасибо 3,128 раз(а) в 2,017 сообщении(ях)
индюк на пути к лучшему
По умолчанию 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, время: 11:05.


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