Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
06.02.2012, 00:22
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от roma9112
|
но такое ощущение, что и сама AVRStudio тоже вся засыпает. Пытаюсь в окошке портов нажать кнопку на PIND.2, там и вход INT0, а Студия даже не дает этого сделать, блин! Может Студия гребет, а может еще что-то не так...
|
Возможно симулятор находится в режиме Running. тогда - нажать Break и т.д.
Если нет то нужно смотреть с Help-е нет ли ограничений в симулировании режима sleep.
Можно ещё запустить таймер/разрешить прерывание от него, уйти в sleep.
Из Idle mode прерывание таймера будит программу (проверял на Simulator 2/xmega256A3).
|
|
|
|
06.02.2012, 07:59
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от _Артём_
|
Возможно симулятор находится в режиме Running. тогда - нажать Break и т.д.
Если нет то нужно смотреть с Help-е нет ли ограничений в симулировании режима sleep.
Можно ещё запустить таймер/разрешить прерывание от него, уйти в sleep.
Из Idle mode прерывание таймера будит программу (проверял на Simulator 2/xmega256A3).
|
Симуляцию прохожу пошагово, спасибо за совет, попробую вместо стендбай режим идл с таймером, посмотрю как Студия отработает, и иду хелп смотреть... Потому как очень интересные эти режимы сна, надо их победить.
|
|
|
|
19.02.2012, 22:09
|
|
Прописка
Регистрация: 18.10.2010
Адрес: Planet Earth )
Сообщений: 120
Сказал спасибо: 14
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Цитата:
|
ps Свободно распоряжаться стек-поинтером можно в том случае, если вам известен базовый алгоритм программы и вы уверены на 100% в отсутствии вложенных прерываний. Пока рекомендую эту тему не рассматривать. Повторяю, лучше по порядку.
|
Я вот все думал на эту тему, рассматривал готовый исходник взятый из нета. Вроде бы программка не сложная. Но принцип перехода на метку main из обработки прерывания от INT0 в AVRстудии так и не понял, даже не увидел. Хочется подсказки, я где то рядом с ответом, но...
__________________
Мозги кипят, ядрить твою валентность!!! Пойду закладывать остальные ингредиенты...
|
|
|
|
20.02.2012, 20:10
|
|
Гражданин KAZUS.RU
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от DAVE_ELEKTRIK
|
Я вот все думал на эту тему, рассматривал готовый исходник взятый из нета. Вроде бы программка не сложная. Но принцип перехода на метку main из обработки прерывания от INT0 в AVRстудии так и не понял, даже не увидел. Хочется подсказки, я где то рядом с ответом, но...
|
Принцип перехода такой же как и был всегда - по окончании работы подпрограммы возвращаемся в этот самый MAIN по команде ret, так что тут все как обычно .Сама MAIN там у тебя такая коротенькая что кажется что не возврат туда идет а просто переход - это две большие разницы - так что проследи поточнее .Еще как вариант - если где-то там у тебя обычный простой переход без ret в MAIN идет , просто прямо из подпрограммы через rjmp - значит в какой-то подпрограмме забыли ret команду в конце подпрограммы дописать или до нее просто не доходит прога ,а вообще же переход сразу в MAIN из подпрограммы через rjmp - это обычно ошибка , значит надо ее отловить и исправить на как полагается (хотя специальные случаи именно такого возврата - это для профи, и тоже может работать, здесь не рассматриваю) .
__________________
Короче асма кода нет !
Последний раз редактировалось pinco; 20.02.2012 в 20:13.
|
|
|
|
05.03.2012, 08:56
|
|
Прописка
Регистрация: 18.10.2010
Адрес: Planet Earth )
Сообщений: 120
Сказал спасибо: 14
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Доброго дня. Вот на выходных просидел изучая приколы со стеком. Наткнулся на такую вот особенность, что при сбросе REST или (shift+F5) (в симуляторе AVRStudio4) конец памяти ОЗУ не сбрасывается. Только при перезагрузке полностью программы. Думал думал, не понял. Пришлось в инициализацию добавлять процедуру зануления ОЗУ и регистров.
Интересно почему в симуляции не сбрасывается ОЗУ?
__________________
Мозги кипят, ядрить твою валентность!!! Пойду закладывать остальные ингредиенты...
|
|
|
|
05.03.2012, 09:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от DAVE_ELEKTRIK
|
Интересно почему в симуляции не сбрасывается ОЗУ?
|
В реальном процессоре ОЗУ то же не обнуляется по RESETу.
А симулятор вроде, как и предназначен для программного моделирования работы процессора.
|
|
|
|
05.03.2012, 09:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,549
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от DAVE_ELEKTRIK
|
Интересно почему в симуляции не сбрасывается ОЗУ?
|
Потому что в реальном контроллере ОЗУ само не инициализируется, и может быть заполнено мусором. Установка начальных значений это забота программиста или компилятора.
Сообщение от DAVE_ELEKTRIK
|
Только при перезагрузке полностью программы.
|
Это скорее недочет, по запуску кристалла в ОЗУ однозначно ничего хорошего нету.
Последний раз редактировалось AJScorp; 05.03.2012 в 09:25.
|
|
|
|
05.03.2012, 13:38
|
|
Гражданин KAZUS.RU
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от AJScorp
|
Потому что в реальном контроллере ОЗУ само не инициализируется, и может быть заполнено мусором. Установка начальных значений это забота программиста или компилятора.
Это скорее недочет, по запуску кристалла в ОЗУ однозначно ничего хорошего нету.
|
Я лично это недочетом не считаю потому что ОЗУ это как раз и есть место для временного хранения любых разных величин и оно сразу при включении уже само аппаратно уже готово к забивке - это не какой-то там узел контроллера который требует регистров установочных для его конфигурации и прочего, и забивать в него - в ОЗУ - можно всего что угодно душе программиста ,и это его дело - как уже было выше сказано , - и инициализировать его не нужно , поэтому оно и ОЗУ называется (или SRAM в кристалле, если так понятнее почему его не нужно инициализировать) - как включил контроллер то тут же и можно сразу забивать туда все что хочешь, то есть сразу использовать ОЗУ, даже уже в ходе самой начальной инициализации контроллера . В симуляторе все забивки в ОЗУ по ходу программы должны быть отрабатываться и забивки должны отображаться в соответствующих окошках.
По ресету от кристалла делать обнуление ОЗУ аппаратно автоматом нет смысла потому как все равно потом же сам контроллер в ячейки ОЗУ будет забивать все заново свежие данные и так ,по ходу проги, и получается что незачем тогда вначале после ресета на это бесполезное действие (начальное обнуление ОЗУ то есть) специально тратить такты, аппаратные ресурсы кристалла, и прочее , а поэтому производители кристаллов контроллеров этого делать просто не стали, и в симуляторе - соответственно в точности как поведение самого кристалла - этого тоже не сделано .
__________________
Короче асма кода нет !
Последний раз редактировалось pinco; 05.03.2012 в 17:13.
|
|
|
|
05.03.2012, 15:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,549
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от pinco
|
Я лично это недочетом не считаю потому что ОЗУ это как раз и есть место для временного хранения любых разных величин
|
Моя фраза по поводу недочета относилась к симулятору.
|
|
|
|
05.03.2012, 16:59
|
|
Гражданин KAZUS.RU
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от AJScorp
|
Моя фраза по поводу недочета относилась к симулятору.
|
Так и мой пост выше весь в общем тоже был про симулятор , но только с обяснением из аппаратного построения контроллера (частично конечно) почему и откуда что взялось в симуляторе , а так как симулятор должен копировать точно работу контроллера (выше уже кто-то говорил об этом) ,то и нельзя говорить что это недочет симулятора, - наоборот очень даже точная работа , а отдельно делать сброс ОЗУ в симуляторе когда этого нет в реальном процессоре - ну это был бы уже совсем нонсенс , потому как работа железа уже тогда не симулировалась бы точно так , как это есть на самом деле , и тогда грош цена была бы такому симулятору.
__________________
Короче асма кода нет !
Последний раз редактировалось pinco; 05.03.2012 в 17:05.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:04.
|
|