perec200

Как остановить выполнение кода в pic16?

5 сообщений в этой теме

perec200    0

Здравствуйте! По нажатию на кнопку (1) срабатывает прерывание INTF (RB0) необходимо вывести надпись и так она должна отображаться до тех пор, пока я не нажму на (2) кнопку и сработает прерывание RB7 которое напечатает другую надпись. 
Решено было использовать задержки, но в тот момент пока вызвана задержка, не срабатывает другое прерывание.
Как мне вывести надпись на экран и чтобы она не пропадала, до тех пор пока не будет вызвано другое прерывание?

void interrupt isr(){
    if(INTF){
        INTF = 0; // reset interrupt flag/
        Lcd_Clear();
        Lcd_Set_Cursor(1,1);
        Lcd_Write_String("1.");
        Lcd_Set_Cursor(1,3);
        Lcd_Write_String("Hello");
        __delay_ms(1000);
    }
    if(RBIF){
        if(RB7){
            activeItem++;
            Lcd_Clear();
            Lcd_Set_Cursor(1,1);
            Lcd_Write_String("RB7");
            __delay_ms(1000);
        }
        RBIF = 0;
    }
}

VirtualBox_OwnWIQAVM_07_04_2018_22_05_17.thumb.png.a37d1745c3a41bcddb0e5c50b2c81c04.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vovka    30

В прерывании должны находиться как можно меньше времени!!!!!!

В прерывании устанавливайте флаги, а в главном цикле их обрабатывайте

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Lexter    276
9 часов назад, perec200 сказал:

Решено было использовать задержки

Зачем? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Зачем тут вообще прерывания? В майне ай бутон на первую кнопку - индикация первой надписи. В тело этой индикации проверка нажатия второй кнопки - индикация второй надписи.

  • Одобряю 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

IMXO    1 358

1. для вашей задачи прерывания на не нать.

2. в нормально построенной программе код не останавливается

3. и к пикам ваш вопрос относится только потому, что их надо программировать, программирование это в первую очередь алгоритм работы устройства и вот с этим у вас проблемы, попробуйте посмотреть курс лекций на ютубе будет намного полезней, чем плодить бестолковые темы , за это здесь наказывают :spiteful:

рекомендую  послушать

4. когда изучите пункт3 вся ваша задача сведется к использованию оператора case

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: griin
      Купил на аллиэкспресс wifi выключатель. Установил программу, опробовал. Все работает. Вопрос - Как подсмотреть протокол обмена командами.(т.е. на каком порту, HTTP....?)
    • Автор: qwer qwer
      Требуется разработать блок управления сплит-системой с функцией обучения по ИК каналу через RS-485 интерфейс на базе МК STM32. Есть ТЗ и список команд управления. Разработка в 2 этапа: 1-разработка принципиальной электрической схемы с указанием элементов на основе структурной из ТЗ (можно в карандаше), 2-написание ПО для МК STM32 в соответствии с ТЗ и списком команд. Оплата поэтапно. Кому интересно - уточняйте детали и оценивайте стоимость работы.
      Блок управления по ИК каналу Описание.docx
      Команды MODBUS.xlsx
    • Автор: Рязанцев Владислав
      Данное FAQ предназначено в первую очередь для начинающих, но так-же может быть полезным для состоявшихся радиолюбителей, желающих вспомнить теоретические основы.

      Первый и самый главный вопрос, возникающий у человека, вдруг заинтересовавшегося электроникой:
      - С чего начать?
      -Конечно же, с теории! Теория необходима для понимания принципов работы радиоэлементов, а также процессов протекающих в них.
      (Лично я начинал с физики, именно в советском учебнике физики за 10 класс, случайно попавшем мне в руки был раздел электродинамики.)
      Самое первое, что необходимо знать, это чем мы оперируем, то есть электрическим током. Можно представить, что ток это вода. Тогда соединения это трубы, а электронные компоненты это своеобразные краники, бачки и фильтры. Тогда напряжение это скорость воды, а ток- давление. Напряжение измеряется в Вольтах, а ток в Амперах. При помощи электронных компонентов мы управляем током, и получаем необходимые нам результаты, преобразуя ток в другие виды энергии- свет, движение, звук.
      Электрический ток
      Что такое ток?
      Источники электрического тока
      -Какие есть радиоэлементы, и что они делают?
      -Есть большое множество различных элементов, обладающих своими свойствами. Самые базовые из них:
      Резистор- компонент, создающий сопротивление протеканию тока. Имеет параметры- сопротивление и максимальная рассеиваемая мощность. Сопротивление измеряется в Омах, чем больше Ом, тем меньше тока пройдет через резистор. Мощность указывает, сколько мощности может пропустить резистор, не перегорев и не перегревшись. Превышение приводит к перегоранию или перегреву резистора. Мощность, рассеиваемая резистором в конкретном случае, рассчитывается при помощи закона Ома и формулы мощности.
      Резисторы
      Резисторы, ток и напряжение
      Конденсатор- элемент, накапливающий энергию. А так-же пропускающий только переменное напряжение, и только один импульс на момент заряда при постоянном токе. Имеет параметры- емкость и максимально допустимое напряжение. Емкость означает, сколько энергии может запасти конденсатор при фиксированном напряжении, и измеряется в Фарадах (мкФ-микроФарад). Максимально допустимое напряжение- напряжение на которое можно зарядить конденсатор. При превышении конденсатор обычно выходит из строя.
      Конденсатор
      О компонентах. Конденсаторы и резисторы
      Диод- полупроводниковый прибор, пропускающий ток только в одном направлении. Состоит из одного n-p(электронно-дырочного) перехода. Имеет параметры- максимально допустимый ток, максимально допустимое обратное напряжение, напряжение падения. Максимально допустимый ток означает, сколько тока можно пропустить через диод в штатном режиме. Напряжение- максимальное напряжение, приложенное к диоду в обратном направлении. Напряжение падения характеризует, напряжение, падающее на диоде, при прохождении через него тока. Превышение тока или напряжения обычно приводят к перегреву и пробою.
      Диоды и их разновидности
      Транзистор(биполярный)- является самым распространенным активным элементом. Состоит из двух встречно включенных полупроводниковых n-p (электронно-дырочных) переходов на одном кристалле. Проходящий через один из переходов ток, влияет на ток, проходящий через второй. Имеет параметры- максимально допустимые ток и напряжение для каждого возможного направления, коэффициент усиления, напряжение насыщения. Коэффициент усиления показывает зависимость напряжение на коллекторе, в схеме с общим эмиттером, в зависимости от напряжения, приложенного к базе. Напряжение насыщения указывает, сколько Вольт необходимо приложить к базе, чтобы транзистор открылся.
      Немного о транзисторах...
      Биполярные транзисторы
      ОУ- операционный усилитель, он же компаратор. Представляет собой микросхему, содержащую в себе усилитель, имеющий дифференциальные входы, то-есть прямой и инверсный, и обычно один выход.
      Операционный усилитель? Это очень просто!
      -С чего начать практику?
      -Базовое умение радиолюбителя- умение паять. Значит, первым делом необходимо научится паять. Для пайки вам понадобится паяльник, а также расходники- припой(олово) и флюс(канифоль).
      Пайка для начинающих
      Как правильно паять?
      Особенности сборки и монтажа радиосхем
      Далее вам будет необходимо начать собирать простые устройства. Статьи вы найдете здесь Начинающим радиолюбителям
      Ну и самое простое устройство, рекомендованное мной- Простейший генератор звуковой частоты
      -Какие инструменты нужно иметь на своем рабочем месте?
      -Необходимы инструменты для пайки, монтажа и демонтажа компонентов. А так-же простые слесарные инструменты.
      Инструменты
      Инструмент электрика
      -С чего начать изучение микроконтроллеров?
      Технический английский! Как ни крути, а без знания технического английского вам будет очень и очень туго. Все даташиты, описания протоколов и т д. публикуются на английском языке. И он-лайн переводчик тут не поможет, т.к. переведет так, что еще больше запутаетесь. Хороший словарь по радиоэлектронике есть в составе словарей Lingvo.
      -Охватить сразу не получится. Есть различные семейства МК. И придется для начала выбрать одно из них.
      AVR:
      Микроконтроллеры AVR для начинающих - 1
      Микроконтроллеры AVR для начинающих - 2
      Микроконтроллеры AVR для начинающих - 3
      Книга по программированию микроконтроллеров AVR
      Обучающий видео курс для начинающих по микроконтроллерам
      Фьюзы микроконтроллеров AVR – как и с чем их едят
      ARM:
      ARM – это просто (часть 1)
      ARM – это просто (часть 2)
      ARM – это просто (часть 3)
      ARM. STM32 быстрый старт
      STM32 простой и быстрый старт с CooCox CoIDE
      -Литература для начинающих, или- Что почитать?
      Ниже предлагаю список литературы, которая будет полезна для начинающих радиолюбителей.
      Основы теории цепей Электроника? Нет ничего проще! Книги Семенова Б.Ю. Книги Ревича Ю.В. Юный радиолюбитель Введение в цифровую технику Введение в микропроцессорную технику Удивительные электронные устройства Электронный сборник схем для радиолюбителей Радиолюбительская азбука. Том 1. Цифровая техника Радиолюбительская азбука. Том 2. Аналоговые устройства Вы всегда можете задать интересующий вас вопрос в разделе Песочница или Вопрос-Ответ . Но для начала убедитесь, что данный вопрос еще не обсуждался, воспользовавшись поиском. Уважайте труд модераторов и посетителей форума, не желающих видеть постоянно дублирующиеся темы.
      FAQ будет пополнятся и расширятся, на основе анализа раздела Песочница. Если кто хочет дополнить FAQ - пишите сообщение, переместим в первый или второй пост
    • Автор: ПромТехМет
      Доброго времени суток

      Возможно кому-то подойдет на какие-то поделки или для других целей электронные компоненты от Мерседеса W124 E230, год выпуска 1988. 
      На данный момент есть в наличии:
      1. Датчик от штатной сигнализации W124, для защиты от буксировки. Полное название датчик ASS Steuergerät Fahrtrichtung — датчик положения кузова. Фото № 1. Цена — 1000 рублей.
      2. Насос вакуумный центрального замка. MERCEDES W124/W126/W201 (Bosch) 0 132 006 302. Фото № 2. Цена — 1500 рублей.
      3. Устройство для впуска, воздух в салоне Bosch 0 130 002 806. Фото № 3 Цена — 1000 рублей.
      4. Беккер EDW блока управления 126-820-06-26. Фото № 4 . Цена — 1000 рублей.
      5. Датчик повреждения Bosch 0 285 001 050 (код мерседеса 003 820 06 10). Как я понял управляет пиропатронами на ремнях безопасности. Фото № 5. Цена — 1500 рублей.
      6. Реле защиты от перегрузки. Номер мерс 201 540 08 45. Фото № 6. Цена — 500 рублей.
      7. Реле бензонасоса. Номер мерс 001 545 90 05. Фото № 7. Цена — 800 рублей.
      8. ЭБУ или проще говоря "мозги" от двигателя. Пока без фото. Bosch 0 280 800 152, Мерс - 004 545 12 32. Цена - 5000 рублей.
      Пока на этом все, тема будет пополняться. Если что интересует спрашивайте, на данный момент вся электроника и электрика есть.

      Спасибо за внимание!