Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 12.01.2012, 19:45  
roma9112
Гражданин KAZUS.RU
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Блин, по ходу правы Вы, сейчас полностью запретил прерывания перед использование функций задержек и все встало на свои места, спасибо огромное за подсказку! Видно где то проморгал отключение прерываний от какого-то из используемого источника
Реклама:
roma9112 вне форума  
Непрочитано 13.01.2012, 02:49  
Pajatel
Прописка
 
Аватар для Pajatel
 
Регистрация: 04.12.2010
Сообщений: 243
Сказал спасибо: 9
Сказали Спасибо 51 раз(а) в 32 сообщении(ях)
Pajatel на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от roma9112 Посмотреть сообщение
Блин, по ходу правы Вы, сейчас полностью запретил прерывания перед использование функций задержек и все встало на свои места
Я раньше и упоминал, что такие задержки надо стараться избегать.
Сообщение от Pajatel Посмотреть сообщение
У меня в подпрограмме для LCD встроены такие задержки по 3мкс и то я на них косо посматриваю... вообще стараюсь избегать такого типа задержек, на то он и асм а не си
Лучьше завести какой таймер и пусть крутится постоянно как системное время и всё синхрить относительно его тиков(сравнения и/или переполнения), тут как кому сподручней. Очень удобно получается если переполнение получается гдет в районе 1ms и ориентировать по нему работу кнопок, энкодера ну вообщем где требуются большие задержки, а величину тика выбрать такой чтоб можно было синхрить к примеру тот же приём и передачу каких либо пакетов или ещё какие быстрые вещи и не нужно будет ломать голову почему в этот момент всё вродь крутится, а в другой всё через раз....

Последний раз редактировалось Pajatel; 13.01.2012 в 03:08.
Pajatel вне форума  
Непрочитано 13.01.2012, 12:15  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от roma9112 Посмотреть сообщение
Блин, по ходу правы Вы, сейчас полностью запретил прерывания перед использование функций задержек и все встало на свои места, спасибо огромное за подсказку! Видно где то проморгал отключение прерываний от какого-то из используемого источника
Чтобы совсем полностью не запрещать прерывания ,ведь возможно есть в системе даже и такие которые ,например, должны быть разрешены и "дежурить" всегда постоянно - просто выясните точно какие именно критические регистры у Вас сбиваются от разрешенных прерываний - то есть уже получается что они совместно где-то еще используются - сохраняйте их когда входите в прерывание (не обязательно в стек - чтобы не загоняться-следить что и за кем туда засунулось - можно и просто в любых свободных на даннный момент регистрах сохранять, которые не будут потом в самом прерывании перебиваться-портиться , или ОЗУ использовать , обычно ячеек ОЗУ много и они всегда почти свободны) , и обратно восстанавливайте их когда выходите из них - тогда и прерывания будут работать "отдельно" во время отработки задержек , и сами задержки не будут сильно искажаться и портится прерываниями, а просто так избегать таких ситуаций как советует Pajatel - это только половинчатое решение , которое к тому же лишает Вас множества дополнительных функций для полного использования всех возможностей кристалла .Еще одно из решений, позволяющих разрешать прерывания во время отсчета задержек - это продолжать отсчитывать и сами задержки , но уже в прерываниях во время их исполнения (если был отсчет задержки до прерывания) почти такими же кусками кода что и в обычных задержках , либо (решение погрубее) можно в прерывании помимо действий прерывания - добавлять сразу в счетчики задержек колич тактов которое занимает например какая-либо из подпрограмм прерывания - в общем , думаю понятен основной принцип таких решений - тогда здесь удается выдерживать уже и длительность самих задержек довольно точно несмотря что во время отсчета задержек возникают и исполняются прерывания , хотя , правда, сам код асма немного побольше уже получается .
__________________
Короче асма кода нет !

Последний раз редактировалось pinco; 13.01.2012 в 13:06.
pinco вне форума  
Непрочитано 22.01.2012, 12:55  
DAVE_ELEKTRIK
Прописка
 
Аватар для DAVE_ELEKTRIK
 
Регистрация: 18.10.2010
Адрес: Planet Earth )
Сообщений: 120
Сказал спасибо: 14
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
DAVE_ELEKTRIK на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Столкнулся с таким вопросом. Пытаюсь разобраться с прерываниями.
Суть в чем, у меня определенное количество дискретных датчиков, буду считать что это кнопки. В этом микроконтроллере ATmega8515 всего три внешних входа прерывания, а для решения моей задачи нужно грубо говоря четыре, или может быть и более. Думал как, что придумать - аппаратно, или программно? Пока так не чего не пришло на ум. Вы наверное спросите что ты там собираешь, или да тут пару пустяков! Смысл каков я рассматривал режим одновременного нажатия двух, трех клавиш, сами процессы, типа какая подпрограмма быстрее выполнится, или выполнение будет одновременным. Вопрос конечно не корректный, писал впопыхах, но может кто на путь истинный поставит, или ссылочку скинет на пример алгоритма программы (понимаю только ASM).
__________________
Мозги кипят, ядрить твою валентность!!! Пойду закладывать остальные ингредиенты...
DAVE_ELEKTRIK вне форума  
Непрочитано 22.01.2012, 13:00  
Ara41
Почётный гражданин KAZUS.RU
 
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

кнопки к портам и сканирование в цикле - первое, что пришло на ум.
Ara41 вне форума  
Непрочитано 22.01.2012, 13:06  
DAVE_ELEKTRIK
Прописка
 
Аватар для DAVE_ELEKTRIK
 
Регистрация: 18.10.2010
Адрес: Planet Earth )
Сообщений: 120
Сказал спасибо: 14
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
DAVE_ELEKTRIK на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Порты заняты под клавиатуру 4*4 плюс lcd индикатор.
__________________
Мозги кипят, ядрить твою валентность!!! Пойду закладывать остальные ингредиенты...
DAVE_ELEKTRIK вне форума  
Непрочитано 22.01.2012, 13:08  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от DAVE_ELEKTRIK Посмотреть сообщение
у меня определенное количество дискретных датчиков, буду считать что это кнопки
Если датчик аварийный, то можно и на прерывание. Как говорится - лучше преребдеть...
Правильнее вот так-
Сообщение от Ara41 Посмотреть сообщение
кнопки к портам и сканирование в цикле
omercury вне форума  
Непрочитано 22.01.2012, 13:09  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от DAVE_ELEKTRIK Посмотреть сообщение
Порты заняты под клавиатуру 4*4
Ну дык и сканировать их вместе с клавой...
omercury вне форума  
Непрочитано 22.01.2012, 13:13  
DAVE_ELEKTRIK
Прописка
 
Аватар для DAVE_ELEKTRIK
 
Регистрация: 18.10.2010
Адрес: Planet Earth )
Сообщений: 120
Сказал спасибо: 14
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
DAVE_ELEKTRIK на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Получается цикл в цикле! Как не крути. А датчики
Цитата:
Если датчик аварийный
вы точно сказали, попали прямо в точку.
__________________
Мозги кипят, ядрить твою валентность!!! Пойду закладывать остальные ингредиенты...

Последний раз редактировалось DAVE_ELEKTRIK; 22.01.2012 в 13:21.
DAVE_ELEKTRIK вне форума  
Непрочитано 22.01.2012, 13:20  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Почему?
Тип датчиков, назначение?

Вижу.
А вот так?
Нажмите на изображение для увеличения
Название: 4key.gif
Просмотров: 38
Размер:	32.7 Кб
ID:	30773
Это если надо знать, который из датчиков сработал.

Последний раз редактировалось omercury; 22.01.2012 в 13:31.
omercury вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите начинающему (PIC16F84A). Slava-martyn Микроконтроллеры, АЦП, память и т.д 11 09.09.2010 21:55
помогите начинающему по WinAVR umkamaks Микроконтроллеры, АЦП, память и т.д 4 05.05.2010 21:01
Помогите начинающему! kolira Микроконтроллеры, АЦП, память и т.д 6 30.01.2010 15:22
Помогите советом начинающему eler Делимся опытом 64 11.09.2008 17:28
Помогите начинающему!!!! sma-etu Микроконтроллеры, АЦП, память и т.д 2 13.12.2006 18:31


Часовой пояс GMT +4, время: 03:21.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot