STM32 новичку в ARM что к чему
Re: STM32 новичку в ARM что к чему
12 на вход и примерно столько же на выход. Рассказы же про десятки прерываний по три источника в каждом, молотящих с умопомрачительными скоростями -- это для произведения эффекта на впечатлительных. Типа, жути нагнать.
- Реклама
Re: STM32 новичку в ARM что к чему
[uquote="Reflector",url="/forum/viewtopic.php?p=3447578#p3447578"]Т.е. моя простенькая задача оказалась слишком сложной для твоего подхода? Спасибо за терпение, больше вопросов не имею
[/uquote]
Не тратьте время - поциент неоперабелен. Абдуринизация моска в запущенной форме. Только в морг.
Не тратьте время - поциент неоперабелен. Абдуринизация моска в запущенной форме. Только в морг.
Re: STM32 новичку в ARM что к чему
Слабые должны поддерживать друг друга.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Так у кого в итоге больше?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: STM32 новичку в ARM что к чему
Ваших прибывает. Тоже не смогли с референсом справиться. WFE у них события мистическим образом глотает. Далее разговаривать просто не о чем.
- Реклама
Re:
[uquote="WiseLord",url="/forum/viewtopic.php?p=3447605#p3447605"]
Так в этом весь пафос. Тратить время на ручную нарезку логики и постоянно держать в голове все сразу, чтобы контролировать общий бюджет проца - это ж высший пилотаж. Именно на это должны тратить основное время настоящие программисты. Ведь именно за подобную крутизну заплатят больше всего. А прерывания - это для криворуких лохов, которые ничего не умеют и ничего не понимают.
В этом случае сравнительно простая, но длинная по времени задача может усложниться из-за её дробления. Придётся как-то сохранять её состояние, чтобы, временно вернувшись к циклу чтения флагов, и снова назад, восстановить его.[/uquote]a5021 писал(а):небольшими порциями, чтобы надолго не отвлекаться
Так в этом весь пафос. Тратить время на ручную нарезку логики и постоянно держать в голове все сразу, чтобы контролировать общий бюджет проца - это ж высший пилотаж. Именно на это должны тратить основное время настоящие программисты. Ведь именно за подобную крутизну заплатят больше всего. А прерывания - это для криворуких лохов, которые ничего не умеют и ничего не понимают.
Re: Re:
[uquote="pvit",url="/forum/viewtopic.php?p=3447835#p3447835"]Так в этом весь пафос. Тратить время на ручную нарезку логики и постоянно держать в голове все сразу, чтобы контролировать общий бюджет проца - это ж высший пилотаж.
[...]
А прерывания - это для криворуких лохов, которые ничего не умеют и ничего не понимают.[/uquote]
А это забавно -- читать абстрактные умствования о том, будто прерывания -- это такая серебряная пуля в нагруженных системах и один факт их использования спасет от любых напастей. Вроде, как и забыли, что дурным тоном внутри обработчика считаются любые затянутые действия. Сбросили/взвели флажки и на выход. Все. А снаружи уже погнали и "ручную нарезку логики" и "держать в голове все сразу".
Тут один умник предлагал задачку, где каждые 100мкс происходит событие, которое может запускать, а может не запускать некую обработку на 1мс. Такая задача, по его мнению, разом ставит поллинг на колени. Если мыслить исключительно шаблонами начальных курсов по ардуине, то так оно и есть. Но что, если таких событий три, они одинаковы функционально, но имеют разные приоритеты. Т.е. событие "А" запусает или не запускает 1мс-обработку "А", событие "Б" -- 1мс-обработку "Б" и то же самое про "В". Обработка "В" имеет самый низкий приоритет обработки и если во время ее выполнения пришел реквест на обработку "Б", то обработка "В" останавливается и пока не закончится "Б", "В" никуда не движется. То же самое и с "А", только она перебивает и "В" и "Б". И куда вы тогда побежите от необходимости "держать в голове все сразу" ?
Поллингом и та и другая задача решаются одинаковым образом. С прерываниями на второй вам гарантирован разрыв шаблона с тяжелыми увечьями. Что ж поделать, если на начальных курсах по ардуине такого не проходили. Жаловаться не на кого.
[...]
А прерывания - это для криворуких лохов, которые ничего не умеют и ничего не понимают.[/uquote]
А это забавно -- читать абстрактные умствования о том, будто прерывания -- это такая серебряная пуля в нагруженных системах и один факт их использования спасет от любых напастей. Вроде, как и забыли, что дурным тоном внутри обработчика считаются любые затянутые действия. Сбросили/взвели флажки и на выход. Все. А снаружи уже погнали и "ручную нарезку логики" и "держать в голове все сразу".
Тут один умник предлагал задачку, где каждые 100мкс происходит событие, которое может запускать, а может не запускать некую обработку на 1мс. Такая задача, по его мнению, разом ставит поллинг на колени. Если мыслить исключительно шаблонами начальных курсов по ардуине, то так оно и есть. Но что, если таких событий три, они одинаковы функционально, но имеют разные приоритеты. Т.е. событие "А" запусает или не запускает 1мс-обработку "А", событие "Б" -- 1мс-обработку "Б" и то же самое про "В". Обработка "В" имеет самый низкий приоритет обработки и если во время ее выполнения пришел реквест на обработку "Б", то обработка "В" останавливается и пока не закончится "Б", "В" никуда не движется. То же самое и с "А", только она перебивает и "В" и "Б". И куда вы тогда побежите от необходимости "держать в голове все сразу" ?
Поллингом и та и другая задача решаются одинаковым образом. С прерываниями на второй вам гарантирован разрыв шаблона с тяжелыми увечьями. Что ж поделать, если на начальных курсах по ардуине такого не проходили. Жаловаться не на кого.
Re: Re:
Поверьте, читать как вы пытаетесь проецировать опыт, ограниченный вашей областью компетентности, на весь мир - не менее весело, чем вам читать "абстрактные умствования". Лично мне хватило неявного педалирования ручной нарезки, чтобы не переходить к битвам на строчках кода. Немного жалко если кому-то из новичков подобными советами подгадите, но постараюсь пережить.
Re: Re:
[uquote="pvit",url="/forum/viewtopic.php?p=3447900#p3447900"]Поверьте, читать как вы пытаетесь проецировать опыт, ограниченный вашей областью компетентности, на весь мир[/uquote]
А в каких словах, простите, вы узрели мой замах аж на "весь мир" ? Я вроде тут исключительно свои мысли от своего имени пишу. Показалось?
А в каких словах, простите, вы узрели мой замах аж на "весь мир" ? Я вроде тут исключительно свои мысли от своего имени пишу. Показалось?
Это вы чего вот только что сказали? Буду вам премного благодарен, если вы начнете формулировать свои мысли хоть чуточку конкретно.Лично мне хватило неявного педалирования ручной нарезки, чтобы не переходить к битвам на строчках кода.
У вас определенно большое сердце. Такая забота о новичках, аж слезу вышибает. На мой прямой вопрос, правда, не ответили, но окормить милосердием неопределенный круг несчастных на техническом форуме много важнее. Это точно.Немного жалко если кому-то из новичков подобными советами подгадите, но постараюсь пережить.
Re: Re:
[uquote="a5021",url="/forum/viewtopic.php?p=3447906#p3447906"]А в каких словах, простите, вы узрели мой замах аж на "весь мир" ? Я вроде тут исключительно свои мысли от своего имени пишу. Показалось?[/uquote]
Ммм... во всех где вы со свойственным вам апломбом доказываете, что писать без прерываний нормальное дело? У меня вообще сложилось впечатление, что вам чужое мнение нужно исключительно для того, чтобы доказать свою особенность и инаковость. Мол вы не такой как все. Возможно вы считаете, что быть не таким как все - всегда значит быть лучше и умнее, а не наоборот.
[uquote="a5021",url="/forum/viewtopic.php?p=3447906#p3447906"]
Вам уже было говорено, что ваш подход во многих случаях ведет к ручной нарезке длинных функий. Либо повышает вероятность, что такое потребуется в самый неподходящий момент. Это более высокие риски по срокам и повышенные требования по человеческим ресурсам. Но такой ответ без методик расчетов рисков и оценки качества кода вы считаете абстрактной болтовней. Ну ок, чо. Считайте.
Ммм... во всех где вы со свойственным вам апломбом доказываете, что писать без прерываний нормальное дело? У меня вообще сложилось впечатление, что вам чужое мнение нужно исключительно для того, чтобы доказать свою особенность и инаковость. Мол вы не такой как все. Возможно вы считаете, что быть не таким как все - всегда значит быть лучше и умнее, а не наоборот.
[uquote="a5021",url="/forum/viewtopic.php?p=3447906#p3447906"]
Это вы чего вот только что сказали? Буду вам премного благодарен, если вы начнете формулировать свои мысли хоть чуточку конкретно.[/uquote]Лично мне хватило неявного педалирования ручной нарезки, чтобы не переходить к битвам на строчках кода.
Вам уже было говорено, что ваш подход во многих случаях ведет к ручной нарезке длинных функий. Либо повышает вероятность, что такое потребуется в самый неподходящий момент. Это более высокие риски по срокам и повышенные требования по человеческим ресурсам. Но такой ответ без методик расчетов рисков и оценки качества кода вы считаете абстрактной болтовней. Ну ок, чо. Считайте.
Re: Re:
[uquote="pvit",url="/forum/viewtopic.php?p=3447900#p3447900"]Поверьте, читать как вы пытаетесь проецировать опыт, ограниченный вашей областью компетентности, на весь мир[/uquote]
После того как автор даже на собственном примере не в состоянии оценить латентность обработки событий - можно заключить что опыта у него нет вообще.
Об атомарности - тоже понятия не имеет. И наличие даже 10 источников прерываний для - него за гранью фантастики.
Видимо автор на днях осилил наконец-то многолетний труд по миганию светодиодом и пошёл проповедовать в массы
Добавлено after 6 minutes 3 seconds:
[uquote="a5021",url="/forum/viewtopic.php?p=3447866#p3447866"]Тут один умник предлагал задачку, где каждые 100мкс происходит событие, которое может запускать, а может не запускать некую обработку на 1мс. Такая задача, по его мнению, разом ставит поллинг на колени.[/uquote]
Так объясните нам, тёмным, как гениально решается она поллингом? Только примером, а не многобуквенным словесным поносом.
А то все ваши примеры тут тянут максимум на потуги чайника, просмотревшего на ютубе ролик такого же чайника "как научиться программить на си за 5 минут не вынимая палец из носа".

После того как автор даже на собственном примере не в состоянии оценить латентность обработки событий - можно заключить что опыта у него нет вообще.
Об атомарности - тоже понятия не имеет. И наличие даже 10 источников прерываний для - него за гранью фантастики.
Видимо автор на днях осилил наконец-то многолетний труд по миганию светодиодом и пошёл проповедовать в массы
Добавлено after 6 minutes 3 seconds:
[uquote="a5021",url="/forum/viewtopic.php?p=3447866#p3447866"]Тут один умник предлагал задачку, где каждые 100мкс происходит событие, которое может запускать, а может не запускать некую обработку на 1мс. Такая задача, по его мнению, разом ставит поллинг на колени.[/uquote]
Так объясните нам, тёмным, как гениально решается она поллингом? Только примером, а не многобуквенным словесным поносом.
А то все ваши примеры тут тянут максимум на потуги чайника, просмотревшего на ютубе ролик такого же чайника "как научиться программить на си за 5 минут не вынимая палец из носа".
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Короче ясно: у a5021 толще, у jcxz длиннее, а у pvit сразу два.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: STM32 новичку в ARM что к чему
Посоветуйте лучше сишный аналог https://github.com/japaric/cortex-m-rtfm, только еще с сообщениями (у RTFM они пока в бренче лежат). Оригинал, с которого тырили, благополучно загнулся.
Re: Re:
[uquote="pvit",url="/forum/viewtopic.php?p=3447900#p3447900"]Поверьте, читать как вы пытаетесь проецировать опыт, ограниченный вашей областью компетентности, на весь мир[/uquote]
Вы собираетесь отвечать за свои обвинения или так и будете сопли по форуму ни о чем размазывать? Повторно спрашиваю: в каких конкретно словах я "пытался проецировать опыт.. на весь мир" ? Ответ "во всех" является тупейшей отмазкой и полной неспособностью отвечать за сказанное.
[uquote="jcxz",url="/forum/viewtopic.php?p=3448003#p3448003"]Так объясните нам, тёмным, как гениально решается она поллингом?[/uquote]
Чет я не понял, прерываниями вы ее уже решили? Изначально она вашей стороне была адресована, но вместо изящного решения вы предлагаете мне же ее и решать. Офигенный подход.
Давайте с другой стороны зайдем. Покажите хотя бы несколько обработчиков прерываний из вашей сверх-загруженной задачи. Ну там где FOC и все такое. Покажите "тяжелый обсчет" на частоте 20кгц.
Вы собираетесь отвечать за свои обвинения или так и будете сопли по форуму ни о чем размазывать? Повторно спрашиваю: в каких конкретно словах я "пытался проецировать опыт.. на весь мир" ? Ответ "во всех" является тупейшей отмазкой и полной неспособностью отвечать за сказанное.
Я вам примерчик приводил про задачки "А", "Б" и "В". Сможете решить его без "ручной нарезке длинных функий" ? Вот не растекаться словесным поносом ни о чем, а кратко и емко поведать, как все это делается без "нарезки" ? Не можете. Ну и фигли тут соплями все заливать?Вам уже было говорено, что ваш подход во многих случаях ведет к ручной нарезке длинных функий
[uquote="jcxz",url="/forum/viewtopic.php?p=3448003#p3448003"]Так объясните нам, тёмным, как гениально решается она поллингом?[/uquote]
Чет я не понял, прерываниями вы ее уже решили? Изначально она вашей стороне была адресована, но вместо изящного решения вы предлагаете мне же ее и решать. Офигенный подход.
Единственный, кто здесь приводил примеры, это я, а вот вы и ваша сторона действительно только ниве словесного поноса упражняется.Только примером, а не многобуквенным словесным поносом.
Давайте с другой стороны зайдем. Покажите хотя бы несколько обработчиков прерываний из вашей сверх-загруженной задачи. Ну там где FOC и все такое. Покажите "тяжелый обсчет" на частоте 20кгц.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: STM32 новичку в ARM что к чему
[uquote="pvit",url="/forum/viewtopic.php?p=3447079#p3447079"]Допускать зависимость проекта от одного гения будет либо идиот либо вредитель[/uquote]
Пойду начальнику скажу, что он - идиот. Не, лучше сразу директору.
А чо, это ведь какой-то умник, с гордой уверенностью, сказал на форуме...
Если даже на предприятии будет 2 (3, 4, 5...) специалиста в одной области, то кидаться всей кучей на один проект - как раз, идиотизм. Каждый должен заниматься своим делом. Любой проект всегда будет зависим от кого-то.
PS: Остальную "кашу" из набора умных словечек, от которых кровь из глаз может пойти, комментить нет желания...
Пойду начальнику скажу, что он - идиот. Не, лучше сразу директору.
А чо, это ведь какой-то умник, с гордой уверенностью, сказал на форуме...
Если даже на предприятии будет 2 (3, 4, 5...) специалиста в одной области, то кидаться всей кучей на один проект - как раз, идиотизм. Каждый должен заниматься своим делом. Любой проект всегда будет зависим от кого-то.
PS: Остальную "кашу" из набора умных словечек, от которых кровь из глаз может пойти, комментить нет желания...
Re: Re:
[uquote="a5021",url="/forum/viewtopic.php?p=3448101#p3448101"]Единственный, кто здесь приводил примеры, это я, а вот вы и ваша сторона действительно только ниве словесного поноса упражняется.[/uquote]
Где приводили? Если не поняли вопроса, ещё раз повторим:
[uquote="Reflector",url="/forum/viewtopic.php?p=3447542#p3447542"]Возьмем простенькую задачу, допустим по USART приходит байт раз в 100us, при этом иногда в качестве реакции на него нужно выполнить достаточно тяжелую работу длительностью 1ms. Что будешь делать, заблокируешь свой суперлуп на 1ms и потеряешь десяток байт?[/uquote]
Способны привести пример? Или так и не поняли вопроса?
[uquote="a5021",url="/forum/viewtopic.php?p=3448101#p3448101"]Покажите хотя бы несколько обработчиков прерываний из вашей сверх-загруженной задачи.[/uquote]Не увиливайте от темы!
Здесь разговор о великом и гениальном суперлупе - лучшем изобретении человеческой мысли!
А не о греховных прерываниях. Вам, как непоколебимому столпу веры в гениальный суперлуп, грешно даже смотреть на богомерзкие исходники с прерываниями!!... а то вдруг ещё поумнеете

Где приводили? Если не поняли вопроса, ещё раз повторим:
[uquote="Reflector",url="/forum/viewtopic.php?p=3447542#p3447542"]Возьмем простенькую задачу, допустим по USART приходит байт раз в 100us, при этом иногда в качестве реакции на него нужно выполнить достаточно тяжелую работу длительностью 1ms. Что будешь делать, заблокируешь свой суперлуп на 1ms и потеряешь десяток байт?[/uquote]
Способны привести пример? Или так и не поняли вопроса?
[uquote="a5021",url="/forum/viewtopic.php?p=3448101#p3448101"]Покажите хотя бы несколько обработчиков прерываний из вашей сверх-загруженной задачи.[/uquote]Не увиливайте от темы!
Здесь разговор о великом и гениальном суперлупе - лучшем изобретении человеческой мысли!
А не о греховных прерываниях. Вам, как непоколебимому столпу веры в гениальный суперлуп, грешно даже смотреть на богомерзкие исходники с прерываниями!!... а то вдруг ещё поумнеете
Re: Re:
Сопли, слюни, дешевые наезды и ничего по теме. Обязательно продолжайте, вам это к лицу.
[uquote="jcxz",url="/forum/viewtopic.php?p=3448143#p3448143"]Здесь разговор о великом и гениальном суперлупе - лучшем изобретении человеческой мысли![/uquote]
Раз и спрыгнул. Вроде и не было никаких "тяжелых вычислений на частоте шима", о которых его пояснить просили. Не прокатили дешевые понты? Привыкайте. Обтекать с таким подходом придется всю дорогу.
Решение той задачи, которую предлагал рефлектор, я ему трижды повторял и только когда на третий раз он понял, то быстро свалил бубня себе под нос что-то о собственном величии. Теперь вам еще по десять раз одно и то же рассказывать? Так боюсь, что десяти мало будет.
Концепт поллинга мной был приведен здесь дважды. В коде. В десяти строках вы так и не смогли увидеть, что верхние обработчики имеют более низкую латентность, чем нижние. Не смогли разобраться в простейших строчках. Вам об этом даже ваш товарищ по несчастью рефлектор заметил. Что и как я вам должен объяснять, если в вас даже простейшее не лезет?
[uquote="jcxz",url="/forum/viewtopic.php?p=3448143#p3448143"]Здесь разговор о великом и гениальном суперлупе - лучшем изобретении человеческой мысли![/uquote]
Раз и спрыгнул. Вроде и не было никаких "тяжелых вычислений на частоте шима", о которых его пояснить просили. Не прокатили дешевые понты? Привыкайте. Обтекать с таким подходом придется всю дорогу.
Решение той задачи, которую предлагал рефлектор, я ему трижды повторял и только когда на третий раз он понял, то быстро свалил бубня себе под нос что-то о собственном величии. Теперь вам еще по десять раз одно и то же рассказывать? Так боюсь, что десяти мало будет.
Концепт поллинга мной был приведен здесь дважды. В коде. В десяти строках вы так и не смогли увидеть, что верхние обработчики имеют более низкую латентность, чем нижние. Не смогли разобраться в простейших строчках. Вам об этом даже ваш товарищ по несчастью рефлектор заметил. Что и как я вам должен объяснять, если в вас даже простейшее не лезет?
- Ярослав555
- Поставщик валерьянки для Кота
- Сообщения: 2081
- Зарегистрирован: Пт май 31, 2013 17:14:38
- Откуда: Украина, Винница
Re: Re:
[uquote="WiseLord",url="/forum/viewtopic.php?p=3447605#p3447605"]
стандартная дилема - или пишем много кода, расходуем флеш, делаем сложные ветвления...
Или делаем класс, объект, переменные состояний и пулим через таймер. Но расходуется оперативка на переменные. Я за второй вариант.
В этом случае сравнительно простая, но длинная по времени задача может усложниться из-за её дробления. Придётся как-то сохранять её состояние, чтобы, временно вернувшись к циклу чтения флагов, и снова назад, восстановить его.[/uquote]a5021 писал(а):небольшими порциями, чтобы надолго не отвлекаться
Или делаем класс, объект, переменные состояний и пулим через таймер. Но расходуется оперативка на переменные. Я за второй вариант.
Re: STM32 новичку в ARM что к чему
Как организовать псевдо-мультизадачность -- это уже второй вопрос. Адепты прерываний так за них (прерывания) хватаются только по одной причине -- в стиле "слесари и сварщики изучают ардуино" они херачат всю обработку, весь счет прямо в обработчиках. То, что за это вообще-то полагается руки отрывать на месте, они просто не догадываются.
Еще раз медленно и печально -- независимо от того, как регистрируются события, через поллинг ли или через прерывания, последующая обработка этих событий все равно потребует очередей, семафоров, планировщика и прочих атрибутов многозадачности. Не уйти от этого.
Еще раз медленно и печально -- независимо от того, как регистрируются события, через поллинг ли или через прерывания, последующая обработка этих событий все равно потребует очередей, семафоров, планировщика и прочих атрибутов многозадачности. Не уйти от этого.
Re: STM32 новичку в ARM что к чему
[uquote="Аlex",url="/forum/viewtopic.php?p=3448125#p3448125"]Если даже на предприятии будет 2 (3, 4, 5...) специалиста в одной области, то кидаться всей кучей на один проект - как раз, идиотизм. Каждый должен заниматься своим делом. Любой проект всегда будет зависим от кого-то.[/uquote]
У меня на проекте программисты менялись без проблем. Это нормально, если человек через 2-4 года хочет сменить работу и заняться чем-то новым. А вы можете продолжать гордиться, что у вас на предприятии есть "незаменимые специалисты", без которых все встанет раком.
У меня на проекте программисты менялись без проблем. Это нормально, если человек через 2-4 года хочет сменить работу и заняться чем-то новым. А вы можете продолжать гордиться, что у вас на предприятии есть "незаменимые специалисты", без которых все встанет раком.


