Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
05.01.2012, 16:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Для пост анализа вообще не обязательно вычислять обороты. Просто тупо писать в буфер период (длительность между входными импульсами) и все, а вычисления делать уже потом.
Интервал времени между входными импульсами будет сильно гулять по ряду причин, тем более у автомобильного двигателя. Плюс схема формирования этих самых импульсов внесет свои коррективы, поскольку
Цитата:
|
Сигнал сложной изменяющейся формы
|
Поэтому заполнять этот интервал супер высочастотными тактами не вижу смысла. Хоть наносекундами заполняйте, толку не будет. А если еще в обороты пересчитать, то вообще будут танцы с бубном.
И еще поясню для некоторых в графическом виде (к посту #346). Повторяю, 1 секунда выбрана только для удобства отображения информации.
|
|
|
|
05.01.2012, 18:04
|
|
Прописка
Регистрация: 04.12.2010
Сообщений: 243
Сказал спасибо: 9
Сказали Спасибо 51 раз(а) в 32 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от alvadep
|
Для пост анализа вообще не обязательно вычислять обороты.
|
..пост анализ на данном этапе не актуален как и показометр оборотов.. но раз полюбому я использую длительность между импульсами хотелось бы и тот же показометр организовть, а организовывать дополнительное измерение за фиксированное время для показометра.... ну фиг знает, пока не хочется, ну не вечер, может и приду к этому в конце концов...
|
|
|
|
05.01.2012, 21:34
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Уфф...
Осилил-таки весь топик...
Воистину - всё по спирали.
Сообщение от pinco
|
никто так не пишет.... ....Но писать именно вначале все подпрограммы и подпрограммы обработки прерываний думаю что все же не стоит , и нагляднее и безопаснее их размещать - после текста основной проги.
|
Сообщение от MisterDi
|
БРЕД
|
Абсолютно в яблочко!
pinco, дружище, не надо считать свой стиль написания прог единственно верным. Тем более если это не так...
Обработку прерываний ЛУТше делать в самом начале FLASH, ведь короткие переходы (rjmp) работают быстрее, нежели длинные(jmp).
Есть компиляторы, которые не видят подпрограмму, если её вызов находится выше по тексту её тела. Таких всё меньше, но тем не менее они есть.
Всевозможные BRxx (BREQ, BRNE и прочая) имеют видимость вообще в пределах 128 байт без "удлиннителей". Уж эти-то вещи, как апологету АСМа, должны быть очевидны.
Ну и как справедливо подметил MisterDi - стандарт...
Сообщение от Pajatel
|
организовывать дополнительное измерение за фиксированное время для показометра.... ну фиг знает, пока не хочется, ну не вечер, может и приду к этому в конце концов...
|
Фтопку.
Частота - обратная периоду функция. В Вашем МК нет аппаратного делителя (чем он несомненно хуже MCS51), но есть умножитель.
Последний раз редактировалось omercury; 05.01.2012 в 21:54.
|
|
|
|
06.01.2012, 03:57
|
|
Гражданин KAZUS.RU
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от omercury
|
Обработку прерываний ЛУТше делать в самом начале FLASH, ведь короткие переходы (rjmp) работают быстрее, нежели длинные(jmp)....
|
Про более медленные длинные jmp никто разговора и не заводил - там в проге DAVE ELEKTRIK-а были одни короткие , посмотрите внимательнее .
И потом , если прерывания из основной проги в конце которая -контроллер при этом несется в начало на обработку , или же из конца проги несется дальше вниз для варианта где подпрограммы в конце - в общем по большому счету примерно одинаково , но я считаю что нагляднее и проще размещать подпрограммы в конце основной проги ,к тому же я писал что это мое мнение , и можете вполне ему не следовать , если Вам так хочется .Просто в случае сбоев контроллер гарантированно не попадает на первые адресах на случайное паразитное выполнение какой-либо из этих подпрограмм .Вот почему я и выбрал расположение всех подпрограмм именно после тела основной программы .Если у Вас другое мнение на этот счет , или из практики знаете больше - оспаривайте , да на здоровье , интересно будет рассмотреть и Ваши доводы .
Сообщение от omercury
|
...Есть компиляторы, которые не видят подпрограмму, если её вызов находится выше по тексту её тела. Таких всё меньше, но тем не менее они есть....
|
А интересно какие ? - назовите их.
__________________
Короче асма кода нет !
Последний раз редактировалось pinco; 06.01.2012 в 04:11.
|
|
|
|
06.01.2012, 04:29
|
|
Гражданин KAZUS.RU
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от Pajatel
|
...сильно не вникал, видел в комплекте поставки карточку, судя повсему через её както получается досступ.. и в комплекте идёт ещё свой програматор, парень берёт постоянно комплект с програматором, говорит удобно вместе с ним монтировать в систему и потом пользовать а цена отличается с.. и без... незначительно.
..сайт производителя:
ELECTRONIC ASSEMBLY
..он пользует EA eDIPTFT43-A
|
Года 4 назад хотел использовать примерно такие -же в своих блоках , но решил что лучше сделать все же свои - никаких карточек не надо , все что хочешь - сам меняешь как бог . Дисплейчик тогда взял с обычным параллельным 18 битным интерфейсом RGB , доделал к нему ОЗУ на 1 экран , логику опроса , синхросигналов ЖКИ и забивки в ОЗУ - все на ПЛИС Xilinx ,она всю быстроту делает и с ОЗУ полностью работает , а сам контроллер - Мега 164 уже неторопливо все картинки формирует ,тачпанель обслуживает и кнопки , все получилось менее $200 ,без тормозов на экране, да еще и сам там себе как хочешь все можно менять , так что когда Вашего знакомого задолбает вконец необходимость каждый раз выходить в инет при перепрошивках тех дисплеев от ELECTRONIC ASSEMBLY - советую поступить как и я сделал тогда , то есть сделать все своё , или почти так , ну в общем как там у него получится и на что хватит терпения , все намного проще и дешевле будет , а возможностей - в разы прибавится , и набор функционала можно изменить самому как захочется .
__________________
Короче асма кода нет !
Последний раз редактировалось pinco; 06.01.2012 в 04:40.
|
|
|
|
06.01.2012, 06:21
|
|
Прописка
Регистрация: 18.10.2010
Адрес: Planet Earth )
Сообщений: 120
Сказал спасибо: 14
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от omercury
|
Обработку прерываний ЛУТше делать в самом начале FLASH
|
Я рассматривал этот пример с прерываниями. Помимо изучения алгоритма работы кнопок и прерывания, была затронута тема оформления программы. Может быть еще вот почему так надо, а не по другому:
Цитата:
|
Прерывания отвлекают контроллер от основных дел, более того, они блокируют другие прерывания. Поэтому в прерывании главное все сделать максимально быстро и свалить. Никаких циклов задержки, никаких долгоиграющих процедур. Никаких ожиданий аппаратного события. СКОРОСТЬ! СКОРОСТЬ! СКОРОСТЬ! Вот что должно тобой руководить при написании обработчика.
Заскочил — сделал — выскочил!
...
|
Возможно еще и по этому сначала прерывания, а потом рисэт!?
__________________
Мозги кипят, ядрить твою валентность!!! Пойду закладывать остальные ингредиенты...
Последний раз редактировалось DAVE_ELEKTRIK; 06.01.2012 в 06:24.
|
|
|
|
06.01.2012, 06:42
|
|
Гражданин KAZUS.RU
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от DAVE_ELEKTRIK
|
Я рассматривал этот пример с прерываниями. Помимо изучения алгоритма работы кнопок и прерывания, была затронута тема оформления программы. Может быть еще вот почему так надо, а не по другому:
Возможно еще и по этому сначала прерывания, а потом рисэт!?
|
Да нет , не поэтому - при включении у Вас перескок все равно мимо всего этого верхнего куска с подпрограммами обработки прерывания вначале, сразу к RESET там уВас,который ниже него располагается , и далее вниз инициализация и затемдалее вниз - "проигрывается" сразу рабочая прога , и в ней так и остаемся и ждем прерываний , а это уже потом при возникновении прерывани Вы попадаете из основной проги в этот верхний кусок самих обработок прерываний - и вот тогда тот текст что с цитатой привели - и важен .
P.S. Хотя в некоторых случаях можно и не стремиться к быстроте обработки прерываний , если управляемые процессы в Вашей схеме , например , это позволяют без аварий и чего-то там еще .А откуда этот угарный кусок цитаты дернули , если не секрет ? А то местами читается прямо как инструкция к провокации драки в кафе : "...Заскочил — сделал — выскочил! ..." - ну да , пока не опомнились и не побили в ответ .
__________________
Короче асма кода нет !
Последний раз редактировалось pinco; 06.01.2012 в 07:01.
|
|
|
|
06.01.2012, 08:35
|
|
Прописка
Регистрация: 18.10.2010
Адрес: Planet Earth )
Сообщений: 120
Сказал спасибо: 14
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от pinco
|
А откуда этот угарный кусок цитаты дернули
|
Недавно в сети искал все что связано с прерываниями - алгоритмы, всякие программы для AVR, короче все. Созревается проект. И вот набрел на этот сайт, запомнилась цитата. Вы спрашиваете откуда? Какой тут секрет, очень даже популярный сайт, посмотреть можно тут.
Читаем там где грабли!
__________________
Мозги кипят, ядрить твою валентность!!! Пойду закладывать остальные ингредиенты...
Последний раз редактировалось DAVE_ELEKTRIK; 06.01.2012 в 08:45.
|
|
|
Сказали "Спасибо" DAVE_ELEKTRIK
|
|
|
06.01.2012, 09:19
|
|
Гражданин KAZUS.RU
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от DAVE_ELEKTRIK
|
Недавно в сети искал все что связано с прерываниями - алгоритмы, всякие программы для AVR, короче все. Созревается проект. И вот набрел на этот сайт, запомнилась цитата. Вы спрашиваете откуда? Какой тут секрет, очень даже популярный сайт, посмотреть можно тут.
Читаем там где грабли!
|
О да , частенько бываю и там , а вот, оказывается, проглядел что-то что признанный авторитет мистер DI HALT написал еще и главы книг по AVR (и статьи-то 2008 г еще !) , мельком
просмотрел - впечатляет , ну и язык изложения тоже не без юмора , хороший источник знаний получился для не только начинающих , а и для всех кто занимается AVR-ами , и даже если не начинающий то хотя бы память освежить не помешает .
__________________
Короче асма кода нет !
Последний раз редактировалось pinco; 06.01.2012 в 09:35.
|
|
|
|
06.01.2012, 12:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от pinco
|
А интересно какие ? - назовите их.
|
Да уж так, навскидку, и не припомню. Даж под какое ядро...
Сообщение от pinco
|
но я считаю что нагляднее и проще размещать подпрограммы в конце основной проги
|
Предпочитаю подпрограммы размещать в отдельных файлах, группируя их по функционалу/назначению. Даж переменные и макросы декларирую отдельно. В майне инит и основной цикл. Иногда разная шушера, типа задержек. Всегда всё под рукой и крутить весь листинг совершенно ни к чему. На достаточного размера мониторе можно смотреть сразу несколько файлов. Так считаю удобнее.
Вот и вызвал раз какую-то функцию до include...
Компилятор заругался недобрыми словами. С тех пор просто не допускаю подобного.
З.Ы. Алгоритм обработки кнопок подробно описАл здесь. Дальше есть код, на С правда...
Последний раз редактировалось omercury; 06.01.2012 в 13:03.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:38.
|
|