Помогите подправить прошивку
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
За однократное выполнение как раз отвечает переменная buz_stop_1
It's a long way to the top if you wanna rock'n'roll
Так в том и проблема. Как исправить чтобы было многократно.
Убрать ее из проверки или убрать присвоение ей 1-цы
It's a long way to the top if you wanna rock'n'roll
Уважаемый somewhere !
Я не программист. Человек который писал прошивку переехал в другую страну и доделать не может. Поэтому приходится править мне.
Если Вас не затруднит напишите как исправить.
С уважением, Евгений.
Я не программист. Человек который писал прошивку переехал в другую страну и доделать не может. Поэтому приходится править мне.
Если Вас не затруднит напишите как исправить.
С уважением, Евгений.
[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]
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
Спасибо за уделенное внимание.
Наверное я недостаточно объяснил.
Процесс такой:
Формирование положительного импульса на выходе out_buz при изменении уровня сигнала на входе in_cc с высокого на низкий.
Процесс повторяющийся и на каждый переход должен формироваться импульс.
При рекомендованной записи и при 0 на in_cc импульс все время перезапускается, а надо чтобы только во время каждого перехода с 1 в 0.
С уважением, Евгений.
Наверное я недостаточно объяснил.
Процесс такой:
Формирование положительного импульса на выходе out_buz при изменении уровня сигнала на входе in_cc с высокого на низкий.
Процесс повторяющийся и на каждый переход должен формироваться импульс.
При рекомендованной записи и при 0 на in_cc импульс все время перезапускается, а надо чтобы только во время каждого перехода с 1 в 0.
С уважением, Евгений.
[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]
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
Уважаемый somewhere !
Огромное спасибо!
Все получилось в лучшем виде.
Огромное спасибо!
Все получилось в лучшем виде.