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

 
 
> Замедленная реакция 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
Ответов
Палыч
сообщение Jul 28 2010, 06:06
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



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

Обычно, кнопки подключаются одним выводом к ноге МК, другим - на землю. При этом включают внутренний Pull-up на ногу, к которой подключена кнопка. При таком подключении, естественно, проверка нажатия кнопки выглятит типа if(PINA.0 == 0). А у Вас?

P.S. 1) Обычно, ещё и с дребезгом контактов борются... Возможно, в Вашей задаче это - излишне. 2) "Прореживать" увеличение/уменьшение значения переменной pwm с помощью задержки - как-то некрасиво: я бы "привязал" сюда таймер.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 8th August 2025 - 22:38
Рейтинг@Mail.ru


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