|
|
  |
Замедленная реакция PINA.0 на появление напряжения на пине. |
|
|
|
Jul 28 2010, 02:29
|
Группа: Участник
Сообщений: 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
Причина редактирования: Оформление цитаты исходника.
|
|
|
|
|
Jul 28 2010, 03:35
|
Группа: Участник
Сообщений: 5
Регистрация: 10-09-07
Пользователь №: 30 432

|
Прошу прощения. Контроллер - AtMega32.
|
|
|
|
|
Jul 28 2010, 07:16
|
Группа: Участник
Сообщений: 5
Регистрация: 10-09-07
Пользователь №: 30 432

|
Кажется, разобрался, спасибо всем за участие. Подавал единичку на пины, а потом просто передавал её подавать. Видимо, у пинов есть существенная для данной задачи ёмкость и крайне малый ток утечки - ещё 1,5-2 секунды пин был как бы в высоком состоянии из-за своей ёмкости. Припаял резисторы на 100 кОм между пинами и землёй - вроде помогло. Сейчас ожесточённо тестирую  (да, обрабоку событий сделал по прерыванию таймера, спасибо за подсказку.)
|
|
|
|
|
Jul 29 2010, 15:00
|
Местный
  
Группа: Свой
Сообщений: 230
Регистрация: 7-04-08
Из: Украина, Запорожье
Пользователь №: 36 541

|
Цитата(Ailer @ Jul 28 2010, 10:16)  Припаял резисторы на 100 кОм между пинами и землёй - вроде помогло. Вот эти глупости прекращайте сразу. Для кого придумали встроенные поттягивающие к + резисторы ?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|