Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Вопросы начинающих

Вопросы начинающих Прежде чем задать вопрос, стоит воспользоваться поиском

 
 
Опции темы Опции просмотра
Prev Предыдущее сообщение   Следующее сообщение Next
Старый 07.08.2018, 10:12   #1
AlDes
Member
 
Регистрация: 08.07.2016
Сообщений: 35
Вес репутации: 137/11
AlDes will become famous soon enoughAlDes will become famous soon enough
По умолчанию Си. Как при постоянном условии, сбросить в нем событие, и далее его не обрабатывать?

Компилятор ХС8, PIC 16.
Задача.
Допустим RB3=1.
Как в начале появления сигнала на этом порту (каждый раз), обработать некую задачу (событие) , и далее при состоянии RB3=1;, больше о ней не вспоминать, до следующего состояния RB3=1;
Нашел рабочий вариант, но есть недостаток, идет постоянное ныряние в функцию, и тут же выход из нее.

Код:
if(RB3){funct();} 

void funct (void){
if (f_out)// блокирующий  флаг выхода=1;
{.......return;} 
... uiEvent &= 0xFFDF; f_out=1; ...
 // сбросить 5й бит в переменной, поднять блокирующий флаг

}
Подобное, можно организовать на switch case. Опять таки, с нырянием.
Спасибо.
AlDes вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем/как отлаживать код написаный на Си в WinAVR Yokel Микроконтроллеры других производителей 49 30.09.2014 09:48
что за зверь - Скатерограмма Edua Общетехнические вопросы 17 01.03.2013 23:33
Имитатор DS18B20 Filya44 Вопросы начинающих 14 12.03.2012 17:39


Часовой пояс GMT +3, время: 06:34.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot