• Без рубрики

Подскажите по программированию

Добрый вечер. Подскажите по программированию. Как в Avr Studio на языке Си перепрыгнуть из одного цикла в другой? Читал что командой goto пользоваться нежелательно.

You may also like...

15 комментариев

  1. Александр:

    самое тривиальное что в голову приходит, вызывай нужные тебе функции и циклы внутри бесконечного цикла,

  2. Павел:

    Так си или ассемблер, определитесь

  3. Никита:

    если такая ситуация возникает, то плохо таким способом прогать, ищи другой алгоритм. Хоть бы пример написал, может решить по другому можно

  4. Дима:

    «…В языке С есть много операторов, которые на самом деле являются банальным goto – условным или безусловным. Это все виды циклов for (…), while (…) {…}, do {…} while (…). Это анализ числовых переменных switch (…) {case … case …}. Это те же операторы прерывания/перехода в циклах break и continue. В конце концов, Это вызовы функций funct() и выход из них return.
    С++ добавляет массу невидимых переходов перегрузками, конструкторами и деструкторами. Из явных переходов – try {… throw …} catch (…) {…}.
    Эти goto считаются «легальными» — чем же нелегален сам goto?…
    Пользоваться им надо с умом – и тогда код будет работать корректно…
    «

  5. Роман:

    Нет в GOTO греха, грешен путь приведший к нему.

  6. Николай:

    Павел, раньше писал на асемблере для пик, собрал пару устройств. Сейчас заинтересовал авр, из-за низкой цены и большего функционала. И стал изучать Си.

  7. Елисей:

    Зачем перепрыгивать из цикла в цикл? Что это за эквилибристика? Почему вложенный цикл не устраивает?

  8. Ильдар:

    Николай, си изучай, а вот авр нах не нужен, уходи сразу на стм

  9. Николай:

    Ильдар, у меня 3 штуки атмега8 лежат.

  10. Ильдар:

    Николай, у меня этих контроллеров 2 коробки)))

  11. Павел:

    Ильдар, с стм начинать тяжело,авр кудо проще. Хотя сам подсел на стм32

  12. Артементий:

    а почему гото нежелателен ? это жи не делэй например. можно прерываниями перепрыгивать кстати

  13. Ильдар:

    Николай, к стати я дела по другому, у меня был бесконечный цикл, все вычисления делались в функциях и прерываниях, в них же я делал флаги (битовые переменные), флаги обрабатывались в общем цикле, в итоге получилась мини ОС, отдельная функция по обработке изображения, отдельная по выводу его на экран, отдельная по обработке ввода, и все это на мега 328 и экране 20х04, могу пример кода скинуть, правда он бэйсике

  14. Николай:

    Ильдар, мне нужно меню по управления аудиопроцесором. Имеется энкодеры, который в нормальном режиме регулирует громкость. Нажимаем кнопку, перескакиваем на меню регулировки баса и тд. И ещё если мы перешли в меню регулировки басса(высоких, не важно) и более секунды не меняли пораметр, то программа переходит на основной цикл. У меня такое получалось на pic16f628a и ассемблере.

  15. Ильдар:

    Николай, был у меня подобный проект, была переменная счётчик, при каждом нажатии любой кнопки она обнулялась, сидел таймер который писал ей постоянно +1, в этом же таймере сидело условие что при достижении переменной максимального значения, он переключал меню

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

0.3MB/0.01599 sec