Помогите подправить прошивку

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
variaevg
Сообщения: 5
Зарегистрирован: 05 ноя 2013, 23:42

Есть такая запись. Она работает, формирует импульс длительностью 5 сек, но однократно.
А процесс повторяющийся, надо чтобы при каждом переходе на входе in_cc с 1 в 0 на выходе out_buz формировался положительный импульс длительностью 5 сек.
Вложения
Фрагмент..gif
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

За однократное выполнение как раз отвечает переменная buz_stop_1
It's a long way to the top if you wanna rock'n'roll
variaevg
Сообщения: 5
Зарегистрирован: 05 ноя 2013, 23:42

Так в том и проблема. Как исправить чтобы было многократно.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Убрать ее из проверки или убрать присвоение ей 1-цы
It's a long way to the top if you wanna rock'n'roll
variaevg
Сообщения: 5
Зарегистрирован: 05 ноя 2013, 23:42

Уважаемый somewhere !
Я не программист. Человек который писал прошивку переехал в другую страну и доделать не может. Поэтому приходится править мне.
Если Вас не затруднит напишите как исправить.
С уважением, Евгений.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

[syntax=c++]volatile unsigned char buz_stop_1=0;

while (1) {
if ((in_rp==1)&(in_cc==0)) {out_buz=1;
delay_ms(5000);
out_buz=0;}
delay_ms(1000);
}[/syntax]
It's a long way to the top if you wanna rock'n'roll
variaevg
Сообщения: 5
Зарегистрирован: 05 ноя 2013, 23:42

Спасибо за уделенное внимание.
Наверное я недостаточно объяснил.
Процесс такой:
Формирование положительного импульса на выходе out_buz при изменении уровня сигнала на входе in_cc с высокого на низкий.
Процесс повторяющийся и на каждый переход должен формироваться импульс.
При рекомендованной записи и при 0 на in_cc импульс все время перезапускается, а надо чтобы только во время каждого перехода с 1 в 0.
С уважением, Евгений.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

[syntax=c++]
volatile unsigned char buz_stop_1=0;
unsigned char last_cc=0;

while (1) {
if ((in_rp==1)&(in_cc==0)&(last_cc==1)) {out_buz=1;
delay_ms(5000);
out_buz=0;}
last_cc = in_cc;
delay_ms(1000);
}
[/syntax]
It's a long way to the top if you wanna rock'n'roll
variaevg
Сообщения: 5
Зарегистрирован: 05 ноя 2013, 23:42

Уважаемый somewhere !

Огромное спасибо!
Все получилось в лучшем виде.
Ответить