Страница 1 из 1

Тормоз ds18b20 и atmega16

Добавлено: Чт май 23, 2013 21:19:05
cas2010
Извините у меня новая проблема, в этот же проект если добавить обраватывание кнопок и часы, то отображение секунд и сам МК полносью тормозит в интервале через 4 сек, это мне не позволяет обрабатывать кнопки, если отключить ниже код:

Код: Выделить всё

temp=ds18b20_temperature(0);  //читаем температуру  
          if (temp>1000){               //если датчик выдаёт больше 1000 
             temp=4096-temp;            //отнимаем от данных 4096 
             temp=-temp;                //и ставим знак "минус" 
          } 
          sprintf(lcd_buffer,"t=%i.%u\xdfC",temp,temp%1);    //записуемв масив для экрана температуру и всё такое 
          lcd_clear();                //чистим дисплей перед выводом 
          lcd_puts(lcd_buffer);        //выводим масив на LCD
то у меня работает без тормоза, в чем может быть проблема тормоза?

Re: Тормоз ds18b20 и atmega16

Добавлено: Пт май 24, 2013 11:09:34
cas2010
+

Re: Тормоз ds18b20 и atmega16

Добавлено: Сб май 25, 2013 21:52:01
Сериг
Конечно будет зависать. Обработка температуры самим датчиком занимает почти секунду.
Плюс:как вы опрашиваете кнопки? По таймеру? Секунды выводите по таймеру?

Re: Тормоз ds18b20 и atmega16

Добавлено: Вс май 26, 2013 03:44:55
cas2010
кнопки опрашиваю в бесконечном цикле вайл, а вывод делаю тоже там.
По таймеру будет лучше? т.е в прерывании таймера?

Re: Тормоз ds18b20 и atmega16

Добавлено: Вс май 26, 2013 12:21:50
Сериг
Хах,а как вы себе это представляете? То есть вы запустили программу,опрашиваете датчики,на опрос одного датчика теряем 1 секунду,что же это за часы? Конечно,в прерывании. И выводить там же.