реклама на сайте
подробности

 
 
> Замедленная реакция PINA.0 на появление напряжения на пине.
Ailer
сообщение Jul 28 2010, 02:29
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 10-09-07
Пользователь №: 30 432



Здравствуйте!
Делаю ШИМ-контроллер, на котором можно будет задавать заполнение с помощью двух кнопок ("+" и "-"). Сами кнопки хочу примотать к пинам 0 и 1 порта А. Для проверки наличия напряжения на пинах пользуюсь конструкцией типа: if(PINA.0==1). Получается странная вещь - после подачи короткого импульса где-то полсекунды ничего не происходит, потом контроллер ведёт себя так, как будто бы я держу напряжение на ножке на высоком уровне, но импульс-то был короткий, я тут же убрал напряжение! Откуда берётся такое запаздывание? Что можно сделать? Спасибо заранее.
Вот собственно управляющий код:
Код
if((PINA.0==1)&&(pwm<100))
       {
        pwm++;
       }          
       if((PINA.1==1)&&(pwm>0))
       {
        pwm--;
       }
       f=pwm;
       pwm_val=floor(255*(f/100));
       lcd_putsf("PWM: ");
       itoa(pwm,c);
       lcd_puts©;
       OCR2=pwm_val;
       delay_ms(100);
       lcd_clear();


Сообщение отредактировал rezident - Jul 28 2010, 03:16
Причина редактирования: Оформление цитаты исходника.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dog Pawlowa
сообщение Jul 28 2010, 04:57
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Ailer @ Jul 28 2010, 05:29) *
Для проверки наличия напряжения на пинах пользуюсь конструкцией типа: if(PINA.0==1).

Я вообще не могу понять, зачем проверять состояние вывода.

А, понял, это кнопка... Отвык от несобытийных подходов в программировании sad.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Jul 28 2010, 06:07
Сообщение #3


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



А как по схеме реализована подача сигналов на пины ? Есть ли привязка к питанию через подтягивающий резистор или она у вас внутренняя ?
Вы подаёте на пины единичку , а потом ноль или просто перестаёте подавать единичку ?


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 16:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.0137 секунд с 7
ELECTRONIX ©2004-2016