Страница 3 из 3
Re: Куда пропадает точность _delay_ms() ?
Добавлено: Ср апр 27, 2022 21:31:31
Карбофос
А ты сам на листинг "машинного кода" посмотрел?
Re: Куда пропадает точность _delay_ms() ?
Добавлено: Ср апр 27, 2022 21:43:25
ARV
[uquote="Карбофос",url="/forum/viewtopic.php?p=4223031#p4223031"]Займитесь собой.[/uquote]
не указывайте мне, что мне делать, и я не скажу, куда вам пойти.
Re: Куда пропадает точность _delay_ms() ?
Добавлено: Ср апр 27, 2022 21:45:19
Карбофос
Это не моя проблема.
Re: Куда пропадает точность _delay_ms() ?
Добавлено: Ср апр 27, 2022 21:47:58
~Dimon~
[uquote="Карбофос",url="/forum/viewtopic.php?p=4223055#p4223055"]А ты сам на листинг "машинного кода" посмотрел?[/uquote]
Код: Выделить всё
#include <util/delay.h>
int main() {
_delay_us(2.34 * 1.67);
}
Код: Выделить всё
38: 80 e2 ldi r24, 0x20 ; 32
3a: 8a 95 dec r24
3c: f1 f7 brne .-4 ; 0x3a <main+0x2>
Ну и где здесь double?
Если спросите вежливо, могу даже рассказать как это получилось

Re: Куда пропадает точность _delay_ms() ?
Добавлено: Ср апр 27, 2022 21:50:21
Карбофос
~Dimon~, скажите пожалуйста, как это получилось?
Я очень заранее благодарен Вам.
Я пошутил. Извините.
Re: Куда пропадает точность _delay_ms() ?
Добавлено: Ср апр 27, 2022 22:01:30
~Dimon~
Компиляторы, это такие хитрые звери, которые очень любят константные выражения, то есть такие выражения, результат которых можно вычислить на этапе компиляции.
В данном случае, так как на входе _delay_us() оказалась константа, все внутренности функции так же превратились в константные выражения и были вычислены на этапе компиляции, что свело все к банальному for(ct = 32; ct; ct--);
Но это в общем не гарантия!
Смотрите листинг, что там нагенерил именно ваш компилятор, именно в вашем проекте, именно в сегодняшней фазе луны.
Re: Куда пропадает точность _delay_ms() ?
Добавлено: Ср апр 27, 2022 22:07:02
Карбофос
А Вы тему точно с 1-го поста читали?
чел решил скрестить ArduinoIDE с avr-gcc, у него не получилось.
Более того, он вручную управляет таймером 0, которым arduino считает свои микросекунды.
Эта тема чисто поржать.
Re: Куда пропадает точность _delay_ms() ?
Добавлено: Ср апр 27, 2022 22:21:10
alex68md
[uquote="Карбофос",url="/forum/viewtopic.php?p=4222999#p4222999"]wiring.c не пробовали посмотреть?[/uquote]
пробовали. еще в первом посте об этом написано. но мне не нужны микросы и прерывание у меня ровно 1мс а не с погрешностью как там.
плюс зачем мне цикл в цикле и куча операций сложения вычетания ? чем мой более лаконичный вариант плох ?
PS: а вы точно читали ? кто где что пытался скрестить ? чё то вас занесло не в ту степь. извини дядя иди своей дорогой коль не разобрался. "нам такой хокей не нужен"
Добавлено after 4 minutes 52 seconds:
~Dimon~, спасибо за листинг.
PS: тут возник вопрос по самому прерыванию но уже задам в соответсвующей теме чтобы чтобы не делать кашы из темы
Добавлено after 2 minutes 55 seconds:
админы плиз закройте тему.
кто конструктивно участвовал - спасибо.
Re: Куда пропадает точность _delay_ms() ?
Добавлено: Ср апр 27, 2022 22:34:51
~Dimon~
Я в общем то насчет тех постов, в которых людей пугали double на входе _delay.
Оно там далеко не всегда страшное.
Re: Куда пропадает точность _delay_ms() ?
Добавлено: Ср апр 27, 2022 22:39:46
Карбофос
Я более всех конструктивно участвовал.
Добавлено after 3 minutes 45 seconds:
[uquote="~Dimon~",url="/forum/viewtopic.php?p=4223093#p4223093"]Я в общем то насчет тех постов, в которых людей пугали double на входе _delay.
Оно там далеко не всегда страшное.[/uquote]
Совершенно верно.
Просто, большинство людей - долбоёбы.
Re: Куда пропадает точность _delay_ms() ?
Добавлено: Ср апр 27, 2022 23:04:00
Eddy_Em
[uquote="~Dimon~",url="/forum/viewtopic.php?p=4223093#p4223093"]Я в общем то насчет тех постов, в которых людей пугали double на входе _delay.[/uquote]
Если аврщик пишет float или double, то это - долбоеб откровеннейший!
Re: Куда пропадает точность _delay_ms() ?
Добавлено: Чт апр 28, 2022 09:27:08
НовыйДень
Дааа, лет 8 назад на радиокоте обсуждали более сложные и более интересные вопросы, чем проблема счётчика миллисекунд...

Хотя Эдя на всех форумах во все времена одинаков.
Re: Куда пропадает точность _delay_ms() ?
Добавлено: Пт апр 29, 2022 14:28:14
codenamehawk
[uquote="alex68md",url="/forum/viewtopic.php?p=4222427#p4222427"]да прерывание срабатывает только на следующий процессорный тик. т.е. получится 256-1 = 255 реальных[/uquote]
Разве следующий это не плюс один?
Тогда нормально получается 255 + 1 = 256