Например TDA7294

Форум РадиоКот • Просмотр темы - DHT11 трудности использования в CodeVisionAVR
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс дек 14, 2025 22:14:17

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 21 ]    , 2
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: DHT11 трудности использования в CodeVisionAVR
СообщениеДобавлено: Пн апр 15, 2013 09:34:30 
Это не хвост, это антенна
Аватар пользователя

Карма: 12
Рейтинг сообщений: 102
Зарегистрирован: Вс дек 02, 2012 03:13:48
Сообщений: 1433
Откуда: Калининград
Рейтинг сообщения: 0
Garin писал(а):
Прошу, кто разбирается помочь, переложить этот код для CodeVisionAVR.
DHT.C
Код:
/*
    for (i=0; i<MAXTIMINGS; i++) {
        //While state is the same count microseconds
        while (laststate==DHT_Read_Pin) {
            _delay_us(1);
            counter++;
        }



Пробовал использовать подобный код для AVR правда на GCC и для DHT22. Но это неважно.
Дело в том, что код не слишком удачный. Он еще может быть работает на частоте 16 мегагерц и выше. Но при более низких частотах - не очень.

Вкратце:
Пусть частота процессора 1 Mhz у нас.
Тогда каждая asm команда у нас будет выполняться по одной микросекунде.
В строчке while (laststate==DHT_Read_Pin) минимум 3 команды, то есть уже 3 микросекунды.
Поэтому counter будет иметь в конце совсем не количество микросекунд, а количество интервалов по 5-7 микросекунд, что уже путает все карты.

Такой код надо писать для определенной частоты процессора. Желательно на ассемблере, но можно и на С, но тогда он будет работать только на определенном компиляторе с определенными флагами оптимизации.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 21 ]    , 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y