DHT22. Обоснование продолжительности задержки #1

Open
opened 2023-06-25 13:01:02 +00:00 by usr22772 · 12 comments
Owner

DHT 22 .c Line 51 in b1924b22fb
void delayEquivalent2(uint8_t delayTime) //Для 18 Милисеунд

как работают функции? Откуда уверенность, что работают?

delayEquivalent2
delayEquivalent3
delayEquivalent4

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 usr22772 2023-06-25 13:01:02 +00:00
Author
Owner

Прошло не мало времени, но с задержкой, реализованной на циклах, так ничего никто не сделал. Её не должно быть. Мы разговаривали про реализацию чтения из DHT по прерываниям из таймера.

Прошло не мало времени, но с задержкой, реализованной на циклах, так ничего никто не сделал. Её не должно быть. Мы разговаривали про реализацию чтения из DHT по прерываниям из таймера.
usr22772 changed title from Обоснование продолжительности задержки to DHT22. Обоснование продолжительности задержки 2024-02-13 16:33:35 +00:00
Owner

Здравствуйте, таймер был использован для задержек которые измеряются в сек, а для микросекунд и миллисекунд я посчитала рациональней использовать задержку через цикл т.к они практически мгновенно проходят. Т.к таймер для микросек и милисек считает очень быстро, он не успевает досчитать до конца т.к при повторном вызове значение таймера для сброса по переполнению/совпадению обновляется и предыдущий таймер не успевает досчитать, в результате чего выводимые значения становятся некорректными, был вариант сделать bool переменную для того чтобы фиксировать закончил таймер счёт или нет, но не получилось, так же был вариант поднимать флаг для фиксации конца таймера, и если честно кроме двух озвученных вышел идей по реализации корректной работы таймера у меня пока нет, возможно вы сможете что-нибудь подсказать? Заранее спасибо за Ваш ответ.

Здравствуйте, таймер был использован для задержек которые измеряются в сек, а для микросекунд и миллисекунд я посчитала рациональней использовать задержку через цикл т.к они практически мгновенно проходят. Т.к таймер для микросек и милисек считает очень быстро, он не успевает досчитать до конца т.к при повторном вызове значение таймера для сброса по переполнению/совпадению обновляется и предыдущий таймер не успевает досчитать, в результате чего выводимые значения становятся некорректными, был вариант сделать bool переменную для того чтобы фиксировать закончил таймер счёт или нет, но не получилось, так же был вариант поднимать флаг для фиксации конца таймера, и если честно кроме двух озвученных вышел идей по реализации корректной работы таймера у меня пока нет, возможно вы сможете что-нибудь подсказать? Заранее спасибо за Ваш ответ.
Author
Owner

Такой вопрос: при вашей реализации read_dht_hum()

DHT_22.c Line 32 in 52904681ef
unsigned int read_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 как долго процессор будет работать в этой функции?
Owner

Точно сказать не могу, но если посмотреть на все задержки и то что у нас 40 бит укладываются, то точно будет больше 20 микросекунд.

Точно сказать не могу, но если посмотреть на все задержки и то что у нас 40 бит укладываются, то точно будет больше 20 микросекунд.
Author
Owner

Такой вопрос: при вашей реализации read_dht_hum()

DHT_22.c Line 32 in 52904681ef
unsigned int read_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 как долго процессор будет работать в этой функции? Прошу написать результаты очной встречи в рамках этого разговора
Owner

Такой вопрос: при вашей реализации read_dht_hum()

DHT_22.c Line 32 in 52904681ef
unsigned int read_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 и складировать его.
Author
Owner

Процессор в этой функции будет работать 26 миллисекунд.
В прерывании необходимо сделать так чтобы получать значение с регистра ICP и складировать его.

Вижу обновления. Так понимаю вы в пути к применению ICP?

> Процессор в этой функции будет работать 26 миллисекунд. > В прерывании необходимо сделать так чтобы получать значение с регистра ICP и складировать его. Вижу обновления. Так понимаю вы в пути к применению `ICP`?
Author
Owner
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf ### 15.11.2 TCCR1B – Timer/Counter1 Control Register B ![image](/attachments/9f6c67db-6a8a-4c61-9066-ce47875cbbe9)
Owner

Процессор в этой функции будет работать 26 миллисекунд.
В прерывании необходимо сделать так чтобы получать значение с регистра ICP и складировать его.

Вижу обновления. Так понимаю вы в пути к применению ICP?

Да, я еще почитаю, пока что это промежуточный код

> > Процессор в этой функции будет работать 26 миллисекунд. > > В прерывании необходимо сделать так чтобы получать значение с регистра ICP и складировать его. > > Вижу обновления. Так понимаю вы в пути к применению `ICP`? Да, я еще почитаю, пока что это промежуточный код
Author
Owner

Куда делся DHT_22.c? отсюда вопрос: чем отличаются C(CPP) файлы от H(HPP) файлов?

Куда делся `DHT_22.c`? отсюда вопрос: чем отличаются C(CPP) файлы от H(HPP) файлов?
Owner

Куда делся DHT_22.c? отсюда вопрос: чем отличаются C(CPP) файлы от H(HPP) файлов?

H - используется для ссылок на функции исходного кода, в С находится наш исходный код

> Куда делся `DHT_22.c`? отсюда вопрос: чем отличаются C(CPP) файлы от H(HPP) файлов? H - используется для ссылок на функции исходного кода, в С находится наш исходный код
Owner

Необходимо ли что-то дорабатывать по датчику? По этому коду ПЗ скинула

Необходимо ли что-то дорабатывать по датчику? По этому коду ПЗ скинула
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: ICS-Microprocessor-2020/4_Ust-vo_poluchenia_velichin_s_datchikov#1
No description provided.