Медленная работа кнопок.

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Опытный кот
Аватара пользователя
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк

Сообщение sachok »

Проблема заключается в очень медленой роботе кнопок. Например:

Код: Выделить всё

if (PINC.5==0){c1=(b1++);delay_ms(50);}      
if (PINC.4==0){c1=(b1--);delay_ms(50);}
если нажать и удерживать кнопку то изменение параметра происходить 1 раз в 1,5 секунди :cry: Хотелосьбы что бы быстрее это всё происходило. Чип у меня ATmega8, частота 4 МГц. В программирование я ёщо ламер. Что то в глубене души мне подсказивает что нужно использовать таймер для обработки состояния конопок, но я не уверен. Подскажите как ускорить этот процес.
Я не Сашок!!!
Контактная информация:
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18785
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

ваш участочек кода, что вы показали, никак не может создавать задержку в 1,5 секунды - проблема не в нем! без всяких таймеров прекрасно реализуется работа с кнопками (хотя, если охота извратиться - можно и с таймером не менее успешно сделать все), это факт, так что смотрите, что там у вас до и после этой пары операторов.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Опытный кот
Аватара пользователя
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк

Сообщение sachok »

У меня потом ёщо несколько таких же операторов и всё. Возможно общаю нагрузка процессора. потому как он с задержкой выводит показания термодатчиков. Всего 3 датчика и он поочереди выводит показания
Я не Сашок!!!
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18785
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

sachok писал(а):Возможно общаю нагрузка процессора. потому как он с задержкой выводит показания термодатчиков. Всего 3 датчика и он поочереди выводит показания
ну, возможно - так возможно. сходите к гадалке.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Модератор
Аватара пользователя
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург

Сообщение Aheir »

Что за датчики? У многих цифровых время преобразования более 300..500 мс, вот Вам и задержка на трех-то датчиках..
Оптимизм х (Опыт + Знания) = const
Контактная информация:
Реклама
Опытный кот
Аватара пользователя
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк

Сообщение sachok »

Датчики ds18b20 ёщо работает 3 канала ШИМ
Я не Сашок!!!
Контактная информация:
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина

Сообщение Krik99 »

Код определения состояний кнопок можно сунуть в таймер, только если не используете стандартную либу Code Vision для работы с ds18b20, так как надо будет править код для работы с ds18b20. Можно кнопки повешать на внешние прерывания, тогда всё будет быстро обробатываться.
Изображение
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18785
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

да все уже понятно - каждый датчик для замера требует минимум 0,7 секунды, вот втроем они и дают задержку. безе отказа от стандартных библиотечных кодвижных функций, как мне кажется, вряд ли что-то получится... с разрешенными прерываниями, если я не путаю, они не работают, так что обработка кнопок по прерыванию тоже не поможет.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк

Сообщение sachok »

Понятно. Спасибо за ответы!
Я не Сашок!!!
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»