https://git.vyatsu.ru/ICS-Microprocessor-2020/4_Ust-vo_poluchenia_velichin_s_datchikov/src/commit/b1924b22fbc652a6da280ff5a4bf8c7b806f5544/DHT%2022%20.c#L51
как работают функции? Откуда уверенность, что работают?
delayEquivalent2
delayEquivalent3
delayEquivalent4
stud127373
was assigned by usr227722023-06-25 13:01:02 +00:00
stud128245
added a new dependency 2023-08-15 10:08:27 +00:00
Прошло не мало времени, но с задержкой, реализованной на циклах, так ничего никто не сделал. Её не должно быть. Мы разговаривали про реализацию чтения из DHT по прерываниям из таймера.
Прошло не мало времени, но с задержкой, реализованной на циклах, так ничего никто не сделал. Её не должно быть. Мы разговаривали про реализацию чтения из DHT по прерываниям из таймера.
usr22772
changed title from Обоснование продолжительности задержки to DHT22. Обоснование продолжительности задержки2024-02-13 16:33:35 +00:00
Здравствуйте, таймер был использован для задержек которые измеряются в сек, а для микросекунд и миллисекунд я посчитала рациональней использовать задержку через цикл т.к они практически мгновенно проходят. Т.к таймер для микросек и милисек считает очень быстро, он не успевает досчитать до конца т.к при повторном вызове значение таймера для сброса по переполнению/совпадению обновляется и предыдущий таймер не успевает досчитать, в результате чего выводимые значения становятся некорректными, был вариант сделать bool переменную для того чтобы фиксировать закончил таймер счёт или нет, но не получилось, так же был вариант поднимать флаг для фиксации конца таймера, и если честно кроме двух озвученных вышел идей по реализации корректной работы таймера у меня пока нет, возможно вы сможете что-нибудь подсказать? Заранее спасибо за Ваш ответ.
Здравствуйте, таймер был использован для задержек которые измеряются в сек, а для микросекунд и миллисекунд я посчитала рациональней использовать задержку через цикл т.к они практически мгновенно проходят. Т.к таймер для микросек и милисек считает очень быстро, он не успевает досчитать до конца т.к при повторном вызове значение таймера для сброса по переполнению/совпадению обновляется и предыдущий таймер не успевает досчитать, в результате чего выводимые значения становятся некорректными, был вариант сделать bool переменную для того чтобы фиксировать закончил таймер счёт или нет, но не получилось, так же был вариант поднимать флаг для фиксации конца таймера, и если честно кроме двух озвученных вышел идей по реализации корректной работы таймера у меня пока нет, возможно вы сможете что-нибудь подсказать? Заранее спасибо за Ваш ответ.
unsignedintread_dht_hum()//подпрограмма работы с DHT
как долго процессор будет работать в этой функции?
Такой вопрос: при вашей реализации `read_dht_hum()` https://git.vyatsu.ru/ICS-Microprocessor-2020/4_Ust-vo_poluchenia_velichin_s_datchikov/src/commit/52904681ef12a89b24a360757113ae27655bc838/DHT_22.c#L32 как долго процессор будет работать в этой функции?
unsignedintread_dht_hum()//подпрограмма работы с DHT
как долго процессор будет работать в этой функции?
Прошу написать результаты очной встречи в рамках этого разговора
> Такой вопрос: при вашей реализации `read_dht_hum()` https://git.vyatsu.ru/ICS-Microprocessor-2020/4_Ust-vo_poluchenia_velichin_s_datchikov/src/commit/52904681ef12a89b24a360757113ae27655bc838/DHT_22.c#L32 как долго процессор будет работать в этой функции?
Прошу написать результаты очной встречи в рамках этого разговора
unsignedintread_dht_hum()//подпрограмма работы с DHT
как долго процессор будет работать в этой функции?
Прошу написать результаты очной встречи в рамках этого разговора
Процессор в этой функции будет работать 26 миллисекунд.
В прерывании необходимо сделать так чтобы получать значение с регистра ICP и складировать его.
> > Такой вопрос: при вашей реализации `read_dht_hum()` https://git.vyatsu.ru/ICS-Microprocessor-2020/4_Ust-vo_poluchenia_velichin_s_datchikov/src/commit/52904681ef12a89b24a360757113ae27655bc838/DHT_22.c#L32 как долго процессор будет работать в этой функции?
>
> Прошу написать результаты очной встречи в рамках этого разговора
Процессор в этой функции будет работать 26 миллисекунд.
В прерывании необходимо сделать так чтобы получать значение с регистра ICP и складировать его.
Процессор в этой функции будет работать 26 миллисекунд.
В прерывании необходимо сделать так чтобы получать значение с регистра ICP и складировать его.
Вижу обновления. Так понимаю вы в пути к применению ICP?
> Процессор в этой функции будет работать 26 миллисекунд.
> В прерывании необходимо сделать так чтобы получать значение с регистра ICP и складировать его.
Вижу обновления. Так понимаю вы в пути к применению `ICP`?
15.11.2 TCCR1B – Timer/Counter1 Control Register B
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf
### 15.11.2 TCCR1B – Timer/Counter1 Control Register B

Процессор в этой функции будет работать 26 миллисекунд.
В прерывании необходимо сделать так чтобы получать значение с регистра ICP и складировать его.
Вижу обновления. Так понимаю вы в пути к применению ICP?
Да, я еще почитаю, пока что это промежуточный код
> > Процессор в этой функции будет работать 26 миллисекунд.
> > В прерывании необходимо сделать так чтобы получать значение с регистра ICP и складировать его.
>
> Вижу обновления. Так понимаю вы в пути к применению `ICP`?
Да, я еще почитаю, пока что это промежуточный код
Куда делся DHT_22.c? отсюда вопрос: чем отличаются C(CPP) файлы от H(HPP) файлов?
H - используется для ссылок на функции исходного кода, в С находится наш исходный код
> Куда делся `DHT_22.c`? отсюда вопрос: чем отличаются C(CPP) файлы от H(HPP) файлов?
H - используется для ссылок на функции исходного кода, в С находится наш исходный код
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
как работают функции? Откуда уверенность, что работают?
delayEquivalent2
delayEquivalent3
delayEquivalent4
Прошло не мало времени, но с задержкой, реализованной на циклах, так ничего никто не сделал. Её не должно быть. Мы разговаривали про реализацию чтения из DHT по прерываниям из таймера.
Обоснование продолжительности задержкиto DHT22. Обоснование продолжительности задержкиЗдравствуйте, таймер был использован для задержек которые измеряются в сек, а для микросекунд и миллисекунд я посчитала рациональней использовать задержку через цикл т.к они практически мгновенно проходят. Т.к таймер для микросек и милисек считает очень быстро, он не успевает досчитать до конца т.к при повторном вызове значение таймера для сброса по переполнению/совпадению обновляется и предыдущий таймер не успевает досчитать, в результате чего выводимые значения становятся некорректными, был вариант сделать bool переменную для того чтобы фиксировать закончил таймер счёт или нет, но не получилось, так же был вариант поднимать флаг для фиксации конца таймера, и если честно кроме двух озвученных вышел идей по реализации корректной работы таймера у меня пока нет, возможно вы сможете что-нибудь подсказать? Заранее спасибо за Ваш ответ.
Такой вопрос: при вашей реализации
read_dht_hum()Точно сказать не могу, но если посмотреть на все задержки и то что у нас 40 бит укладываются, то точно будет больше 20 микросекунд.
Прошу написать результаты очной встречи в рамках этого разговора
Процессор в этой функции будет работать 26 миллисекунд.
В прерывании необходимо сделать так чтобы получать значение с регистра ICP и складировать его.
Вижу обновления. Так понимаю вы в пути к применению
ICP?https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf
15.11.2 TCCR1B – Timer/Counter1 Control Register B
Да, я еще почитаю, пока что это промежуточный код
Куда делся
DHT_22.c? отсюда вопрос: чем отличаются C(CPP) файлы от H(HPP) файлов?H - используется для ссылок на функции исходного кода, в С находится наш исходный код
Необходимо ли что-то дорабатывать по датчику? По этому коду ПЗ скинула