простые интересные РАДИОСХЕМЫ сделанные своими руками

» Гость

Мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизируйтесь!





» ДАТАШИТЫ
Например: TDA1562

» СХЕМЫ


Отметить прочитанными   -   Поиск   -   Правила   -   Новые сообщения

Страница 10 из 10«128910
Модератор форума: Igoran, Витинари, Sam 
Форум радиолюбителей » СХЕМЫ » НАЧИНАЮЩИМ » Помощь в программировании (Подскажите в какой теме можно задать вопрос)
Помощь в программировании
Чт, 16.11.2017, 22:21 | Сообщение # 91        
msmmmm
аватар
  Постов: 781  Offline Друзья 
Никогда не понимал боязни delay. Если в основной программе есть задержка, прерывание выполняется быстро (как и положено), какая разница - выполняется delay или крутится бесполезный while? Обработку кнопок всегда делал так: нажалась кнопка, проконтролировал отпускание, выдержал 0,1-0,3 с для устранения дребезга. В зависимости от назначения программы код по нажатию может выполняться после нажатия кнопки, после отпускания, реже после выдержки времени.
Пт, 17.11.2017, 08:48 | Сообщение # 92        
nolpofaze
аватар
  Постов: 219  Offline
msmmmm, я не говорю, что delay ну совсем нельзя использовать... просто сталкивался с лагами, когда работает таймер c точным счетом и используется delay, выходит такая же фигня как и у Ника. Не задумывался почему, но замечал, во время работы delay прерывания таймера работают нестабильно.

Добавлено (17.11.2017, 08:48)
---------------------------------------------
Ник, не за что, на флаговый автомат больше похоже, хотя что-то есть и похожее) Ну и присутствует возможность расширения функций, без особого усложнения алгоритма.

Вт, Вчера, 17:45 | Сообщение # 93        
Ник
аватар
  Постов: 206  Offline
msmmmm, я delay использую, зачем мучится с какими то расчетами если проще поставить задержку. Просто хотелось что бы и программа выполнялась и задержка была.

Добавлено (21.11.2017, 17:45)
---------------------------------------------
Начал изучать USART, и столкнулся с такой проблемой. Подскажите как быть, в CodeVisionAVR я не нашёл прерывания по флагу UDRE, это 12 вектор (UCSRB=(1<<UDRIE)). В программе пришлось использовать функцию в которой проверял опустошение буфера передачи while (!(UCSRA=(1<<UDRE)) и с подставлением значения в UDR.
Может как то можно вызвать данное прерывание?

Вт, Вчера, 18:02 | Сообщение # 94        
nolpofaze
аватар
  Постов: 219  Offline
Ник, пиши камень какой, а так есть прерывание такое USART, Data Register Empty, UDREaddr=0x0026, для меги328, например.
Вт, Вчера, 18:21 | Сообщение # 95        
Ник
аватар
  Постов: 206  Offline
Мега32, просто на ней сделал плату для учёбы с со своим блоком питания и внутрисхемного программирования. Мне только что удалось подружить два меги по USART. Простенькая схемка, при принятии данных одной она изменяет значения и отсылает другой, та в свою очередь принимает, зажигает светодиод (или тушит) и отсылает обратно и так по кругу. Вижу мигающий светодиод. С компом подружил частично, только на передачу, на прием почему то перезагружается. Буду разбераться cool
Форум радиолюбителей » СХЕМЫ » НАЧИНАЮЩИМ » Помощь в программировании (Подскажите в какой теме можно задать вопрос)
Страница 10 из 10«128910
Поиск:
Кто есть кто на форуме радиолюбителей: Администратор Модераторы Друзья Пользователи
Группа вконтакте Канал ютуб Группа в фэйсбук Мобильная версия © 2010-2018, "Радиосхемы". Все права защищены. Почта