Size: a a a

2020 September 20

К1

Ком 123 in Embedded Group
Taras Bezditnyi
Естессна, только надо с чего-то начинать) я тут игрушку ребёнке делаю (хотя скорее себе :)), вот и учусь на хобби
И ещё такой совет, совсем забыл: любая прошивка должна работать без делеев. Вообще. От слова совсем. osDelay используется только для переключения контекста либо для разгрузки процессора. Все ожидания отклика/отработки периферии/получения данных и т.д. разруливаются флагами и примитивами синхронизации, иначе ищи косяки в алгоритме работы и смотри, где не отслеживаешь получение сигнала об отработке куска кода/периферии. А к искусственным делеям должно быть отношение как к goto: если ты не можешь разрулить всё без них - ты что-то делаешь неправильно.
источник

A

Alexander in Embedded Group
Ком 123
И ещё такой совет, совсем забыл: любая прошивка должна работать без делеев. Вообще. От слова совсем. osDelay используется только для переключения контекста либо для разгрузки процессора. Все ожидания отклика/отработки периферии/получения данных и т.д. разруливаются флагами и примитивами синхронизации, иначе ищи косяки в алгоритме работы и смотри, где не отслеживаешь получение сигнала об отработке куска кода/периферии. А к искусственным делеям должно быть отношение как к goto: если ты не можешь разрулить всё без них - ты что-то делаешь неправильно.
Каким образом при помощи флажков иожно поставить задержку для изменения уровня nCS для SPI дабы соответствовать временной диаграмме?
источник

Х

Х in Embedded Group
Ком 123
И ещё такой совет, совсем забыл: любая прошивка должна работать без делеев. Вообще. От слова совсем. osDelay используется только для переключения контекста либо для разгрузки процессора. Все ожидания отклика/отработки периферии/получения данных и т.д. разруливаются флагами и примитивами синхронизации, иначе ищи косяки в алгоритме работы и смотри, где не отслеживаешь получение сигнала об отработке куска кода/периферии. А к искусственным делеям должно быть отношение как к goto: если ты не можешь разрулить всё без них - ты что-то делаешь неправильно.
А чем goto плох?
источник

EL

Eugene Lomov in Embedded Group
Х
А чем goto плох?
Спагетти-кодом?
И геморроем при отладке.
источник

A

Alexander in Embedded Group
Х
А чем goto плох?
Ломает нормальное течение и схему переходов программы
источник

DP

Dmitry Ponyatov in Embedded Group
Alexander
Каким образом при помощи флажков иожно поставить задержку для изменения уровня nCS для SPI дабы соответствовать временной диаграмме?
Очередь обработчиков на таймере
источник

Х

Х in Embedded Group
Eugene Lomov
Спагетти-кодом?
И геморроем при отладке.
Чем первое плохо? Второе на любителя, если надо на один раз и чтоб работало.
источник

Х

Х in Embedded Group
Alexander
Ломает нормальное течение и схему переходов программы
Предсказателю ветвлений не нравится?
источник

A

Alexander in Embedded Group
Dmitry Ponyatov
Очередь обработчиков на таймере
Хм.
Неплохо )
источник

К1

Ком 123 in Embedded Group
Alexander
Каким образом при помощи флажков иожно поставить задержку для изменения уровня nCS для SPI дабы соответствовать временной диаграмме?
При софтварном NSS? да тем же отдельным таймером. Только я софтварный NSS в последний раз использовал года три назад=)
источник

EL

Eugene Lomov in Embedded Group
Х
Предсказателю ветвлений не нравится?
Да.
источник

EL

Eugene Lomov in Embedded Group
И оптимизатору.
источник

A

Alexander in Embedded Group
Х
Предсказателю ветвлений не нравится?
И документировать тяжелее.
источник

Х

Х in Embedded Group
Alexander
И документировать тяжелее.
Опять же, это всё для непрерывной разработки командой, а не сделал и чтоб работало и не трогать...
источник

EL

Eugene Lomov in Embedded Group
Х
Опять же, это всё для непрерывной разработки командой, а не сделал и чтоб работало и не трогать...
..."чтоб (не)работало и не трогать"
источник

A

Alexander in Embedded Group
Х
Опять же, это всё для непрерывной разработки командой, а не сделал и чтоб работало и не трогать...
Было бы неплохо равняться на лучшие практики.
С 1990х всех кодеров учат GoTo по возможности не использовать.
источник

К1

Ком 123 in Embedded Group
Х
Опять же, это всё для непрерывной разработки командой, а не сделал и чтоб работало и не трогать...
Если ты делаешь что-то на один раз - ты плохо спарсил алиэкспресс=)
источник

EL

Eugene Lomov in Embedded Group
Имхо, написать безбаговый код с гото сложнее чем без него.
источник

Х

Х in Embedded Group
Alexander
Было бы неплохо равняться на лучшие практики.
С 1990х всех кодеров учат GoTo по возможности не использовать.
Ну это для разных подходов. Не всегда что лучше для большой команды лучше для одного и про одноразовые девайсы так же.
источник

D

Dr Zlo in Embedded Group
Х
А чем goto плох?
есть один случай в котором goto не то что не плох, а даже активно используется, goto error; в больших функциях
источник