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

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

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

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

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

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

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

 
Опции темы
Непрочитано 28.12.2011, 20:29  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Pinco, Вы знатный спорщик и отстаиваете свою точку зрения до конца - это похвально. Но кнопка может быть с разным функциями по нажатию и отпусканию.
Пример. Нажимаете кнопку "Параметр", на индикатор выводится какое-то значение параметра №1. Пока удерживаете эту кнопку, другими кнопками ("больше", "меньше") можно изменять значение. По отпусканию кнопки "Параметр" происходит запись в EEPROM. По следующему нажатию на кнопку "Параметр" на индикатор выводится параметр №2 и т.д. Я надеюсь, почему нужно отсекать дребезг и до и после объяснять не надо.

P.S. А по поводу мыши попробуйте правую кнопку в текстовом редакторе.
Реклама:
alvadep вне форума  
Непрочитано 28.12.2011, 21:39  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

2 pinco

http://www.piclist.com/techref/micro...bounceK8LH.htm

st_1 вне форума  
Непрочитано 28.12.2011, 21:53  
!nekromant!
Частый гость
 
Аватар для !nekromant!
 
Регистрация: 19.12.2011
Адрес: Россия г.Брянск
Сообщений: 38
Сказал спасибо: 5
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
!nekromant! на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

От споров на чем лучше писать под МК голова пухнет. Я так понимаю, что сравнивать Си и АСМе тоже самое, что сравнивать топор и скальпель. Топором можно нарубить дров, вырубить шикарную статую, но никогда не сможешь прооперировать человека, тоже самое касается и скальпеля им можно прооперировать человека, вырезать статую но не получится нарубить дров. И помимо этого результат зависит не только от самого инструмента но и от того кто им орудует(это как дать хирургу топор, а дровосеку скальпель). В общем смысл в том, что для каждой задачи и поставленных условий хорош свой инструмент.

Или я не прав? Я только начинаю изучение и не знаком еще ни с АСМе ни с Си, мой вывод сложился на основании ваших дискуссий.
!nekromant! вне форума  
Непрочитано 28.12.2011, 22:12  
roma9112
Гражданин KAZUS.RU
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от pinco Посмотреть сообщение
Посмотрел прогу от DAVE_ELEKTRIK.(ссылка в постах выше была )
Первое замечание по проге - подпрограммы ну надо же располагать ПОСЛЕ инициализации и тела основной программы , ну сколько же раз говорили - а так сейчас получается все "задом наперед"
.
Pinco, Ваши мысли иной раз меня направляли в нужное русло, Но в этом случая, я уже убедился, программист лично для себя пишет обработку подпрограмм(по тексту) в нужном именно ему месте, обозначив адрес вектора прерывания(т.е. как он больше воспринимает). А про остальное , наверное согласен, т.е. прерывания. Чуток познав МК51 я немного узнал регистр приоритетов прерываний, а в АВР пока думаю, что их приоритет идет в порядке адресов векторов. Кстати DAVE зря побаивается использовать аппаратные прерывания - это же милое дело!

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

Сообщение от roma9112 Посмотреть сообщение
Кстати DAVE зря побаивается использовать аппаратные прерывания - это же милое дело!
Да я не боюсь этих прерываний, я боюсь сложных алгоритмов!
А именно где надо всю периферию задействовать, в нужном месте какую команду лучше использовать - ASM. Не художник я пока этих алгоритмов! Вот сижу и по 10 раз одну и тоже главу перечитываю, может где то смысл потерял, или что то пропустил в книге!
__________________
Мозги кипят, ядрить твою валентность!!! Пойду закладывать остальные ингредиенты...

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

Сообщение от roma9112 Посмотреть сообщение
Pinco, Ваши мысли иной раз меня направляли в нужное русло, Но в этом случая, я уже убедился, программист лично для себя пишет обработку подпрограмм(по тексту) в нужном именно ему месте, обозначив адрес вектора прерывания(т.е. как он больше воспринимает). А про остальное , наверное согласен, т.е. прерывания. Чуток познав МК51 я немного узнал регистр приоритетов прерываний, а в АВР пока думаю, что их приоритет идет в порядке адресов векторов. Кстати DAVE зря побаивается использовать аппаратные прерывания - это же милое дело!
Спасибо , стараюсь говорить о том что точно знаю .
А вот обработку подпрограмм запускать еще до инициализации - никто так не пишет , пока до конца не инициализирован контроллер .Проинициировали все там в нем , выставили нужные условия начальные для прерываний , и пусть даже потом эти условия сами могут быть изменены , но это именно потом ,когда все сделали правильно - вот тогда и пишите саму обработку или как там хотите , но все же лучше как полагается писать - чтобы правильно срабатывало .Невозможно определять условия для прерывания в самом уже случившемся прерывании - оно-то уже произошло , и по каким-то умолчальным условиям ,другим , и от измены условий в текущем прерывании все это может вступить в силу только в следующем прерывании , но не в этом же текущем .И вектор вектором но тот кусок обработчика для этого вектора не должен проигрываться и срабатывать прежде инициализации ,а посему и располагаться должен не перед инициализацией полной а именно ПОСЛЕ нее .А так как вниз по проге должна быть основная прога то этот кусок обработчика располагают после текста основной проги ,чтобы контроллер зря не выполнил этот Ваш кусок с подпрограммой обработчика просто потому что он располагается по ходу текста до основной проги , и независимо ,от того было там прерывание или нет ,паразитно это выполнил при включении .Надеюсь что в основном понятно обьяснил .
__________________
Короче асма кода нет !
pinco вне форума  
Непрочитано 28.12.2011, 23:14  
DAVE_ELEKTRIK
Прописка
 
Аватар для DAVE_ELEKTRIK
 
Регистрация: 18.10.2010
Адрес: Planet Earth )
Сообщений: 120
Сказал спасибо: 14
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
DAVE_ELEKTRIK на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от pinco Посмотреть сообщение
Первое замечание по проге - подпрограммы ну надо же располагать ПОСЛЕ инициализации и тела основной программы , ну сколько же раз говорили - а так сейчас получается все "задом наперед" - пока по проге контроллер добирается до основной проги после включения - ему надо-не надо приходится бестолково выполнять и все что в подпрограммах ,а он еще даже и сам не до конца в этот момент проинициализирован ! - а там еще и reti есть у подпрограмм - и куда там он будет возвращаться если он даже не дошел до начала тела основной программы (хоть и короткой , две строчки там всего , но все же)
Почему Вы говорите - "пока по проге контроллер добирается до основной проги после включения" и все это выше написанное...? Для меня становится вопросом! Самое интересное все новички в первые задают вопросы профи как преподавателю на паре, с просьбой рассказать еще раз и попонятней, потому что не знают..., это в первый раз. И учителя сразу отвечают - а ты читал книгу такую и такую?
Так вот к чему я веду. Читать книги я не разучился, во первых просто в обеденный перерыв на работе просто люблю расслабиться успокоить нервы, снять усталость и напряжение, это как раз почитать любимую книгу - касается хобби. Значит я про счетчик команд. Начальное понятие имею, про относительные переходы тоже. Вы уверяете что программа не правильно оформлена.
Тогда почему в книгах пишут типа:
После сброса микроконтроллера в счетчик команд записывается ноль.
Затем контроллер переходит в режим выполнения программы. В процессе выполнения программы счетчик всегда указывает на текущую выполняемую команду. При считывании кода команды значение счетчика увеличивается на один или два (в зависимости от длины команды). При выполнении команд безусловного и условного переходов содержимое счетчика резко меняется. В него записывается новое значение адреса.
Я думаю что компилятор должен как то сам определить мое оформление программы, как лучше перевести в hex код, или это не так?
__________________
Мозги кипят, ядрить твою валентность!!! Пойду закладывать остальные ингредиенты...
DAVE_ELEKTRIK вне форума  
Непрочитано 28.12.2011, 23:21  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от alvadep Посмотреть сообщение
...Но кнопка может быть с разным функциями по нажатию и отпусканию.
Пример. Нажимаете кнопку "Параметр", на индикатор выводится какое-то значение параметра №1. Пока удерживаете эту кнопку, другими кнопками ("больше", "меньше") можно изменять значение. По отпусканию кнопки "Параметр" происходит запись в EEPROM....
Конечно может быть , но основной режим все же - на нажатие , а иначе не получится сделать как в Вашем же примере - у DAVE_ELEKTRIK было вообще срабатывание только по отжатию - так вот нажали - ничего - отпустили - и только тогда включится режим "Параметр" , ну допустим отредактировали - а запомнить-то как - кнопка - то уже отжата , и что , тогда сделать запоминаниев EEPROM на действии снова нажать и отпустить ? Как-то много долбежки получается .
__________________
Короче асма кода нет !
pinco вне форума  
Непрочитано 28.12.2011, 23:33  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от DAVE_ELEKTRIK Посмотреть сообщение
Почему Вы говорите - "пока по проге контроллер добирается до основной проги ...В процессе выполнения программы счетчик всегда указывает на текущую .... При выполнении команд безусловного и условного переходов содержимое счетчика резко меняется. В него записывается новое значение адреса.
Я думаю что компилятор должен как то сам определить мое оформление программы, как лучше перевести в hex код, или это не так?
Про счетчик все верно , но дальше не так .
Потому что компилятор (в асме) не переоформляет кое-как оформленную прогу по какому-то заложенному в него шаблону , а смотрит расположение кусков проги и приписывает такой же порядок и в конечной заливке в кристалл .Поэтому не следует от него ждать автоматизма как от шаблонов -заготовок в С , но это здесь ,в асме, даже и лучше - потому что здесь Вы сами можете реализовывать специфические виды инициализаций и загрузок какой хотите ,появляется полная свобода действий , но и одновременно ответственность за правильность этих действий , лишь бы правильно работало и ,короче,было правильно оформлено .(Плюс еще пост 316 посмотрите , пока писал ответ в нем , еще других накидали) .
__________________
Короче асма кода нет !

Последний раз редактировалось pinco; 28.12.2011 в 23:44.
pinco вне форума  
Непрочитано 29.12.2011, 00:34  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Цитата:
Первое замечание по проге - подпрограммы ну надо же располагать ПОСЛЕ инициализации и тела основной программы , ну сколько же раз говорили - а так сейчас получается все "задом наперед" - пока по проге контроллер добирается до основной проги после включения - ему надо-не надо приходится бестолково выпонять и все что в подпрограммах
Цитата:
Потому что компилятор (в асме) не переоформляет кое-как оформленную прогу по какому-то заложенному в него шаблону , а смотрит расположение кусков проги и приписывает такой же порядок и в конечной заливке в кристалл
БРЕД СИВОЙ КОБЫЛЫ !!!!! Вы хоть раз смотрели на процедуру начального старта любой вычислительной системы???
Согласно стандартов, объявления процедур и функций обязаны находиться компилятором в тексте до их первого использования. Это достигается или расположением тел функций перед основной программой или объявлением их в заголовочном файле или в теле основного модуля. Для программ на ассемблере это не действует, там программист сам должен заботиться о правильном размещении функций в памяти программ. Но я не знаю контроллера, у которого по адресу начального сброса в радиусе 3-10 команд не находился бы безусловный переход на процедуру начальной инициализации системы.
__________________
misterdi<@>i.ua

Последний раз редактировалось MisterDi; 29.12.2011 в 00:45.
MisterDi вне форума  
 

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

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

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:17.


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