Тормоз ds18b20 и atmega16

Все прочитали, вроде даже поняли, взяли паяльник - а нифига не получается? Скорее сюда! Поможем. Чем можем...
Ответить
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вт апр 23, 2013 16:46:07

Сообщение 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
то у меня работает без тормоза, в чем может быть проблема тормоза?
Реклама
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вт апр 23, 2013 16:46:07

Сообщение cas2010 »

+
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1451
Зарегистрирован: Пт фев 19, 2010 19:39:28
Откуда: Москва

Сообщение Сериг »

Конечно будет зависать. Обработка температуры самим датчиком занимает почти секунду.
Плюс:как вы опрашиваете кнопки? По таймеру? Секунды выводите по таймеру?
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вт апр 23, 2013 16:46:07

Сообщение cas2010 »

кнопки опрашиваю в бесконечном цикле вайл, а вывод делаю тоже там.
По таймеру будет лучше? т.е в прерывании таймера?
Реклама
Эиком - электронные компоненты и радиодетали
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1451
Зарегистрирован: Пт фев 19, 2010 19:39:28
Откуда: Москва

Сообщение Сериг »

Хах,а как вы себе это представляете? То есть вы запустили программу,опрашиваете датчики,на опрос одного датчика теряем 1 секунду,что же это за часы? Конечно,в прерывании. И выводить там же.
Реклама
Ответить

Вернуться в «Практика»