27.03.2018, 23:19
|
#51
|
Прописка
Регистрация: 17.03.2015
Сообщений: 298
Сказал спасибо: 0
Сказали Спасибо 224 раз(а) в 127 сообщении(ях)
|
Re: STM32 Настройка таймера
Сообщение от eddy
|
ProtAS-13, если хочется в дерьме ковыряться, пользуйтесь кодогенераторами.
Но лучше себя самого ничто код не сгенерирует! Зачем разбираться, что оно там нагенерировало?
|
" eddy, если хочется в дерьме ковыряться, пользуйтесь кодогенераторами компиляторами. Но лучше себя самого ничто код не сгенерирует! Зачем разбираться, что оно там нагенерировало?..."
Или нет, лучше так: " eddy, если хочется в дерьме ковыряться, пользуйтесь кодогенераторами сторонними библиотеками. Но лучше себя самого ничто код не сгенерирует! Зачем разбираться, что оно там нагенерировало?..."
Я ведь человек дотошный, и посмотрел Ваши проекты.
Особенно мне понравилось использование функций библиотеки libopencm3, к примеру, rcc_clock_setup_in_hsi_out_48mhz(), systick_set_reload(), systick_set_clocksource(), ..., и безапеляционное утверждение " Но лучше себя самого ничто код не сгенерирует!". Или может эти функции написали Вы? Нет, конечно, pin_toggle() - это конечно Ваше
Вы присмотритесь к своим проектам - там процентов 50, если не больше, написано за Вас другими людьми (кодогенераторами), а Вы лишь, изучив конкретную библиотеку, просто используете результаты их труда.
И в чем отличие от любителей STM32CubeMX? Что Вы, что они, ВСЕ пользуются результатами работы кодогенераторов (люди, программы - неважно), только называются это, немного, по разному.
Резюмирую: Спор ни о чем. Но люди, которые сходу отвергают наличие других инструментов для создания кода, сами себя обедняют, остановившись в собственном развитии.
Моей же целью, было показать, что кроме HAL есть еще и LL, и CMSIS, абсолютно не навязывая, кому-либо, необходимость применения того или иного инструмента - в разных ситуациях применимы разные решения.
|
|
|
Эти 4 пользователя(ей) сказали Спасибо ProtAS-13 за это сообщение:
|
|
|
27.03.2018, 23:50
|
#52
|
Гражданин KAZUS.RU
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 735
Сказал спасибо: 363
Сказали Спасибо 808 раз(а) в 380 сообщении(ях)
|
Re: STM32 Настройка таймера
ProtAS-13, усугУбим или усугубИм :
Сообщение от ProtAS-13
|
ВСЕ, кто используют компиляторы, пользуются результатами работы кодогенераторов
|
|
|
|
|
28.03.2018, 08:51
|
#53
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: STM32 Настройка таймера
Сообщение от ProtAS-13
|
Но люди, которые сходу отвергают наличие других инструментов для создания кода, сами себя обедняют, остановившись в собственном развитии.
|
Хотите сказать, что небольшие признаки умственной отсталости на лицах КАЛоедов им даже импонируют?
|
|
|
|
28.03.2018, 09:13
|
#54
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,646
Сказал спасибо: 117
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: STM32 Настройка таймера
Сообщение от ProtAS-13
|
Особенно мне понравилось использование функций библиотеки libopencm3
|
Я ею уже давно не пользуюсь. Не надо тут!
Сообщение от ProtAS-13
|
Вы присмотритесь к своим проектам - там процентов 50, если не больше, написано за Вас другими людьми (кодогенераторами)
|
Библиотека библиотеке рознь! Есть нормальные — вроде glibc, а есть дермо вроде кала. Ну, а куб — это ж полный треш, когда код генерируется автоматом!!!
Сообщение от ProtAS-13
|
Моей же целью, было показать, что кроме HAL есть еще и LL
|
Ну нагенерирует вам куб инициализацию, и что? Она и так пишется довольно просто. То, что должно быть дальше куб вам не сгенерит, все равно придется самому писать!
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
|
|
|
|
28.03.2018, 11:22
|
#55
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: STM32 Настройка таймера
Сообщение от eddy
|
Ну нагенерирует вам куб инициализацию, и что? Она и так пишется довольно просто. То, что должно быть дальше куб вам не сгенерит, все равно придется самому писать!
|
Та ладно! Ты вникни в спич тех, кто от поедания КАЛа получает удовольствие.
Цитата:
|
И в чем отличие от любителей STM32CubeMX? Что Вы, что они, ВСЕ пользуются результатами работы кодогенераторов (люди, программы - неважно), только называются это, немного, по разному.
|
Заценил?
Это как "Все люди рыжие, только не все в этом признаются!"(с).
Прикинь! Все рыжие, хромые, косые, лопоухие и рукожопые как и адепты STM32CubeMX! Не больше, не меньше!
Цитата:
|
Библиотека библиотеке рознь!
|
Не гони! Все рыжие и переливаются на солнце!
Для особо проДвинутых все либы одинаковые, патамушта им главное название функции, а не происходящее внутри. Они не понимают вариантов решения задач, патамушта "так КАЛ сказал и никак по другому", они, как и абдуринщики, будут усираясь решать задачу тупо в лоб, гордясь своим печальным результатом, они не воспринимают решение задачи с чьих-то слов, ибо даже референс с даташиом одолеть не в силах, и, в лучшем случае, попросят готовый код на КАЛе, искренне не понимая, что вменяемые им не пользуются априори. Но даже в готовом коде КАЛа они не станут разбираться, действуя по принципу "Дали КАЛ - надо есть!"(с).
И эти люди рассказывают другим как жить и как в носу ковыряться.
Последний раз редактировалось STM32F0; 28.03.2018 в 11:24.
|
|
|
|
28.03.2018, 14:02
|
#56
|
Прописка
Регистрация: 17.03.2015
Сообщений: 298
Сказал спасибо: 0
Сказали Спасибо 224 раз(а) в 127 сообщении(ях)
|
Re: STM32 Настройка таймера
eddy, STM32F0. Господа упоротые на своей исключительности, что, как правило, сродни малообразованности!
Что? Не смогли осилить простейший HAL, я уже не говорю об элементарном LL? Понятно почему Вы подбадриваете друг дружку не пытаясь отстаивать свою позицию - " дермо вроде кала".
Интересней другое - для Вас различие между правильными и неправильными инструментами кодирования, лишь вопрос веры: " Библиотека библиотеке рознь! Есть нормальные — вроде glibc, а есть дермо вроде кала.". Ну верите Вы в свои библиотеки - да и бог с Вами. Почему же Вы отказываете другим в наличии своей веры? Это уже смахивает на фанатизм.
Кроме того, сами же, прекрасно понимаете, что STM32CubeMX это лишь генератор инициализационной последовательности. Или Вы думаете, что все, пользующиеся данным генератором, после инициализации впадают в ступор и идут к Вам за советом, который Вы, вследствии своей исключительности, даже и дать то нормально не можете, все время ссылаясь " Пока не начнёте читать референс...". Т.е. Вы даже не допускаете мысли, что остальные люди тоже умеют читать, и даже на буржуйском. Вы все такие идеальные, и у Вас не бывает в жизни ситуаций когда "зацикливаешься", а поэтому обращаешься на форум за советом? Одновременно, и жалко и завистно вам.
Впрочем, это все лирика. По делу же, "пацаны" отвечают за свои слова - критикуете STM32CubeMX/HAL/LL/CMSIS, так критикуйте конкретно.
Понимая, что "гении" никогда не отвечают по существу, поэтому, как сочуствующий любителям кодогенераторов, начну я. Вернемся к посту #3
Сообщение от индюк
|
Пипец нах. А всего то надо написать tim2-›cnt = 0;
|
Применяя LL это может выглядеть так:
Код:
|
LL_TIM_SetCounter(TIM2, 0); |
Если посмотреть, что же из себя представляет данная функция, то удивимся насколько она сложна и недоступна "гениям":
Код:
|
__STATIC_INLINE void LL_TIM_SetCounter(TIM_TypeDef *TIMx, uint32_t Counter)
{
WRITE_REG(TIMx-›CNT, Counter);
} |
Боюсь, что и это будет сложно для критиков, поэтому еще одна итерация:
Код:
|
#define WRITE_REG(REG, VAL) ((REG) = (VAL)) |
Ну и прекратив стебаться над неординарными людьми, окончательно сообщу, что абсолютно доказано, что LL_TIM_SetCounter(TIM2, 0) абсолютно равнозначна TIM2-›CNT=0 (сорри индюк за плагиат ).
|
|
|
Сказали "Спасибо" ProtAS-13
|
|
|
28.03.2018, 15:53
|
#57
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: STM32 Настройка таймера
Сообщение от ProtAS-13
|
Что? ...........
.............
................
...............
|
Бла-бла-бла с детской истерикой и психоделикой, граничащей с шизофренией и маразмом.
Отсыпьте таблеток, грибов или что там курите.
Цитата:
|
Применяя LL это может выглядеть так
|
Да неужели? "это может выглядеть так", а может и "как-как".
Всё смотрели? Уверены что оно так выглядит?
А то есть и другие мнения.
Цитата:
|
Глядя на этот код хочется долго и настойчиво бить его автора головой об стену.
|
Цитата:
|
Поехали по буквам:
1)Придуманный специально для этого uintptr_t? Не, не слышали.
2)Магические числа. Ну хоть стандартный макрос offsetof() можно было использовать вместо магичесого числа? Не, не слышали.
3)Почему не смогли взять сразу адрес (нужное вставить)? Адресная арифметика, которую компилятор делает лучше криворукого программиста, тут делается вручную.
4)Переменная называется (нужное вставить), хотя хранит совсем не base.
Ну наконец-то! Полэкрана кода ради одного-единственного явного приведения типа.
А что мешало вместо всего этого "шедевра" написать один макрос
|
Цитата:
|
Честно говоря - мне всегда противно смотреть на портянки типа:
всегда пролистываю такие сообщения не глядя.
И это вместо, того чтобы задать блоки периферийных регистров в виде структур, а формировать битовые поля в них макросами (ну или просто номерами битов), что было бы красиво и эффективно.
|
------------------------------------------
Цитата:
|
Ну и прекратив стебаться над неординарными людьми, окончательно сообщу, что абсолютно доказано, что LL_TIM_SetCounter(TIM2, 0) абсолютно равнозначна TIM2-›CNT=0.
|
"Над кем стебётесь? Над собой стебётесь!"(с)
Где и кем доказано? Ась?
Прекращайте бредить, а то войдёте в роль и не вернётесь.
|
|
|
|
28.03.2018, 16:34
|
#58
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,091
Сказал спасибо: 2,566
Сказали Спасибо 11,900 раз(а) в 5,973 сообщении(ях)
|
Re: STM32 Настройка таймера
Гы! "Опять за рыбу грОши..."(с)
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
28.03.2018, 17:30
|
#59
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: STM32 Настройка таймера
|
|
|
|
28.03.2018, 18:20
|
#60
|
Прописка
Регистрация: 17.03.2015
Сообщений: 298
Сказал спасибо: 0
Сказали Спасибо 224 раз(а) в 127 сообщении(ях)
|
Re: STM32 Настройка таймера
STM32F0. Какой слог. А эмоции ... Вас, похоже колбасит не по детски. Поэтому, на эмоциональную часть отвечать воздержусь.
Сообщение от STM32F0
|
Где и кем доказано? Ась?
|
Я не знаю, что для Вас может являться доказательством, т.к. я их представил в виде С-кода ранее.
Впрочем, может машинные коды Вас немного успокоят, если, конечно, Вы в этом что-нибудь понимаете. Тогда извольте.
На первой картинке изображены две команды LL_TIM_SetCounter(TIM2, 0) и TIM2-›CNT=0. Причем, для того, чтобы они обе были видны в листинге, применена оптимизация None. На второй картинке, применена оптимизация High, поэтому строка кода TIM2-›CNT=0 исчезла, и осталась только LL_TIM_SetCounter(TIM2, 0).
Предлагаю сравнить оптимизированный LL_TIM_SetCounter(TIM2, 0) с TIM2-›CNT=0 из первой.
Поэтому,
Сообщение от STM32F0
|
Прекращайте бредить, а то войдёте в роль и не вернётесь.
|
P.S. Боже! На что я трачу время! Пожалуй, больше я Вам отвечать не буду - я привел достаточно информации, чтобы адекватные люди смогли оценить возможности LL.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:50.
|
|