Re: WinAvr в вопросах и ответах
Добавлено: Пт дек 30, 2011 10:11:17
Не поверите, но программа действительно стала работать по другому. Сравните листинг. Мну писал функцию, а вы превратили ее в макрос.
Здесь можно немножко помяукать :)
https://radiokot.ru/forum/
что я сделал - я знаю, однако, функцию в макрос я не переделывалBerZerK-ku писал(а):Не поверите, но программа действительно стала работать по другому. Сравните листинг. Мну писал функцию, а вы превратили ее в макрос.
открою страшную тайну, как это можно сделать: по листингуBerZerK-ku писал(а):как можно было проверить хотя бы два варианта без отсебятины, если для проверки все равно приходилось комментировать разные строки?
ваши сообщения становятся похожими на бред, я перестал их понимать.BerZerK-ku писал(а):что за бред? т.е. получается откомпилировали программу посмотрели размер, отписались на форуме. При этом сравнили листинг кода, увидели разницу и умолчали об этом? Или вы продолжаете утверждать что в моем примере разницы в функциях нет? А-а-а, понял, вы наверное просто подсказали ответ на вопрос, но это никак не соотноситься с действительностью?
Т.е. вы полагаете, что static функция единожды вызываемая в программе чем то отличается от макроса? Хотя тут может я и ошибся, т.к. не проверял что будет с кодом в winavr.
да, тяжело с вами... придется разжевать.BerZerK-ku писал(а):я тоже уже вас не понимаю.
Вот факты , какими их вижу я: выложил готовый пример, который надо было откомпилировать 3 раза, по разу для каждой из функций. Вы что-то проделали и написали что размер прошивки не отличается и составляет 166 байт, как и у предыдущего товарища. И мой пример БРЕД, миф развеян. Потом выложил свои результаты я. А теперь оказывается что вы откомпилировали один раз , сравнили функции по листингу программы и выдали результат: отличий нет.
я цитировал на прошлой страницеBerZerK-ku писал(а):будьте добры, процитируйте мои слова , в которых я упомянул "всегда". А я то все это время думал, что пытаюсь сказать что при правильном использовании структур они дают выигрыш по сравнению с кучкой переменных.
в ваших словах нет слов "мне кажется", "может быть", "в определенных условиях" и т.п. слов и фраз, которыми в русском языке принято подчеркивать ограниченность условий применения высказываемого. поэтому ХОТЕТЬ СКАЗАТЬ и СКАЗАТЬ - сильно разные вещи. вам, раз уж вы программист как бы, должно быть известна разница между четким и нечетким определениемМастер Ломастер писал(а):я говорил о памяти данных, и тут вы со мной согласились, тут же добавив УТВЕРЖДЕНИЕ ОБ ЭКОНОМИИ ПАМЯТИ ПРОГРАММ.BerZerK-ku писал(а): Память данных нет, а вот сэкономить память программ поможет.
видимо, не дано...BerZerK-ku писал(а):Чей-то я вас не пойму
да у вас с логикой беда...BerZerK-ku писал(а):"может помочь" == "всегда помогут" ? Если бы все кто мог мне помочь, помогали, я бы забот в жизни не знал
да (уже второй раз за страницу вы безусловно правильную вещь говрите! это редкость), несомненно мое личное, что совершенно не мешает ему оставаться правильнымBerZerK-ku писал(а):это ваше личное мнение
Код: Выделить всё
// функция, способная создать задержку от 1 до 65535 микросекунд
void mega_delay(uint16_t delay_in_microseconds){
for(; delay_in_microseconds; delay_in_microseconds--)
_delay_us(1);
}и чем мой "второй" пример отличался от "первого"? какой результат там был - неудовлетворительный, что ли?!BerZerK-ku писал(а):функция выполнят свои функции, к самому коду претензий нет ( это та которая 18 часов)
Ладно, могу согласиться что вы дали только образец, дальше думай сам. Но опять же, вспомните свой же результат переделки этой функции в микросекундные задержки по аналогии (это второй приведенный вами пример)? Вы в предыдущем случае употребили "тупенький начинающий" который по своему мог воспринять мои слова. А ваша задержка в этом отношении далеко ушла?
с одной небольшой поправкой (на сообразительность) - утверждаюBerZerK-ku писал(а):Или вы все таки утверждаете что вот этоработает как надо?Код: Выделить всё
// функция, способная создать задержку от 1 до 65535 микросекунд void mega_delay(uint16_t delay_in_microseconds){ for(; delay_in_microseconds; delay_in_microseconds--) _delay_us(1); }