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], -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/
|
|
|
|
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
|
|
Почётный гражданин KAZUS.RU
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
|
Re: Датчики температуры Ds18b20 на ATMEGA88, постоянно выводится -9999.0
для начала надо бы приложить проекты CV и протеуса.
Почему у Вас сперва идет поиск датчиков на шине, а потом w1_init()?
Каждый, кто приходит сюда с подобными вопросами, утверждает, что на парах ни слова не говорили про... О чем хоть говорят на парах?
|
|
|
|
29.05.2016, 16:03
|
|
Прохожий
Регистрация: 29.05.2016
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Датчики температуры Ds18b20 на ATMEGA88, постоянно выводится -9999.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
Сообщение от Штейн
|
Поймите, нам на парах НИ СЛОВА про этот весь ужас не рассказывали.
|
а в мои времена на парах вообще только электромагниты проходили. и я как то сам вот сел и написал с нуля все
__________________
кагмаподэ магмаподэ
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:05.
|
|