AVR studio в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

2 MeL$
Без схемы и прошивки Вам никто ничего конкретного не скажет.
В общем "Классика": "Схему и прошивку-в студию".
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
MeL$
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вс апр 05, 2009 08:55:15

Сообщение MeL$ »

схема и прошивка ...
Вложения
schem_prog.rar
схема и прошивка
(13.78 КБ) 368 скачиваний
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

В PROTEUS элементы надо соединять ОБЯЗАТЕЛЬНО ПРОВОДНИКАМИ, НЕ ДОПУСТИМО соединять элементы между собой на прямую.

Рабочая схема в PROTEUS и исходник (поправленный) в приложении.
Вложения
Work.rar
(14.07 КБ) 327 скачиваний
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
MeL$
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вс апр 05, 2009 08:55:15

Сообщение MeL$ »

мегаспасибо!
только непонятно почему схема без ожидания нажатия/отпускания не работает :o
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Без ожидания отпускания она работает. Но посчитайте, сколько раз светодиод моргнёт при нажатии на кнопку продолжительностью, ну например 1 секунду, при частоте работы контроллера скажем 1MHz.
Если собрать в железе, то светодиод для нашего глаза будет просто более тускло гореть. Ну и в PROTEUS в принципе тоже самое, просто светодиод там имеет только два состояния. На слабом компьютере он будет моргать.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Сообщение edm2007 »

Да-да, я про это выше и писал. Светодиод состояние сменил, кнопку опросили, снова состояние сменили... И так по кругу, пока кнопку не отпустим... Можно ставки делать, ибо непонятно в каком состоянии мы остановимся, когда кнопку отпустим. :)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
MeL$
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вс апр 05, 2009 08:55:15

Сообщение MeL$ »

это понятно всё
но момент отпускания каждый раз разный - величина случайная
по теории вероятности 50 на 50
когда то из PIND должна быть считана единица , а когда то - ноль
не так ???
а у меня всегда светодиод горит !
значет где то я ошибаюсь ...
а в исправленном исходнике только проверка отпускания кнопки добавлена
я уже всё проверил и побаловался ...
если б мой исходник работал, как я говорю ...
а оно ... :)))
господа гуру - разьясните plz
а то не усну :)))

пс а может и не я ошибаюсь, а есть какая то особенность или настройка в протеус ...
я уж и временем срабатывания кнопки баловался - ставил на порядок выше частоты
чтоб во время срабатывания кнопки не укладывалось целое число тактов МК
а то походу он действительно всегда одно и тоже считывать из PIND будет
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Сообщение edm2007 »

MeL$ писал(а):это понятно всё
но момент отпускания каждый раз разный - величина случайная
по теории вероятности 50 на 50
когда то из PIND должна быть считана единица , а когда то - ноль
не так ???
а у меня всегда светодиод горит !
значет где то я ошибаюсь ...
а в исправленном исходнике только проверка отпускания кнопки добавлена
я уже всё проверил и побаловался ...
если б мой исходник работал, как я говорю ...
а оно ... :)))
господа гуру - разьясните plz
а то не усну :)))

пс а может и не я ошибаюсь, а есть какая то особенность или настройка в протеус ...
я уж и временем срабатывания кнопки баловался - ставил на порядок выше частоты
чтоб во время срабатывания кнопки не укладывалось целое число тактов МК
а то походу он действительно всегда одно и тоже считывать из PIND будет


Что-то я не понимаю совсем... Что тебя смущает-то? Кнопку нажали (ноль с PD0 считали), перешли к проверке отпускания. Пока кнопку удерживаешь (ноль на порте) так на месте и будем крутиться (ждать когда отпустишь). Только отпустил, строчку перепрыгнули, состояние порта поменяли и в начало. Если цикл ожидания после смены состояния поставить то светодиод зажигаться / гаснуть будет при нажатии а не при отпускании.

Тебя смущает что без проверки не получается "генератор случайного светодиода"? :)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
MeL$
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вс апр 05, 2009 08:55:15

Сообщение MeL$ »

тут ничего не смущает и всё понятно ...
мне непонятно почему не работает в протеус мой упрощенный исходник
помоему он должен работать с той лиишь разницей, что факт зажигания диода - величина случайная
зависит не только от факта нажатия кнопки но и от времени ее отпускания (на момент отпускания установлен или сброшен бит порта Б )

пс я просто хочу разобраться до точки
иначе боюсь попасться при написании большой программы
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Сообщение edm2007 »

MeL$ писал(а):тут ничего не смущает и всё понятно ...
мне непонятно почему не работает в протеус мой упрощенный исходник
помоему он должен работать с той лиишь разницей, что факт зажигания диода - величина случайная
зависит не только от факта нажатия кнопки но и от времени ее отпускания (на момент отпускания установлен или сброшен бит порта Б )

пс я просто хочу разобраться до точки
иначе боюсь попасться при написании большой программы


Да, я так же изучаю. :) Вообще должен работать. И в зависимости от того когда кнопка будет отпущена светодиод либо гореть будет либо погаснет. Вот я и говорю, "генератор случайного светодиода". Не может он одно и то же считывать.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
MeL$
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вс апр 05, 2009 08:55:15

Сообщение MeL$ »

аха
вот и я про то
тока он всеравно горит постоянно :cry:
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Сообщение edm2007 »

MeL$ писал(а):аха
вот и я про то
тока он всеравно горит постоянно :cry:

Хм, а у меня без проверки меняется состояние по кругу на выходе. Все как и должно быть.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
MeL$
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вс апр 05, 2009 08:55:15

Сообщение MeL$ »

это с моим исходником ?
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

В PROTEUS всё работает в обоих случаях. Пощёлкайте кнопкой по дольше.
ЗЫ: Крайне не рекомендую разбираться в багах PROTEUS (А это именно БАГ). Дело не благодарное и бессмысленное. Хотите получить РАЛЬНЫЙ результат, соберите в РЕАЛЬНОМ железе.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Сообщение edm2007 »

MeL$ писал(а):это с моим исходником ?

Да, конечно. Пока кнопку держишь - наяривает. Только светодиод горит. Как уже говорили сегодня, не способен он в полнакала гореть. А вот когда отпускаешь - угадывать можно, ибо хрен знает что там будет. Там же видно как уровень меняется (красный / синий).
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
MeL$
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вс апр 05, 2009 08:55:15

Сообщение MeL$ »

ага
всем большущее спасибо
nppElM
Родился
Сообщения: 12
Зарегистрирован: Чт мар 05, 2009 10:32:23

Ошибка AVR

Сообщение nppElM »

Здраствуйте! Подскажите пожалуйсто, компилятор после через некоторое время с момнта запуска выдает ошибку AVR Simulator: Stack pointer below start of RAM, понимаю что ошибка глобальная, но не могу понять что приводит к ее появлению :(
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: Ошибка AVR

Сообщение edm2007 »

nppElM писал(а):Здраствуйте! Подскажите пожалуйсто, компилятор после через некоторое время с момнта запуска выдает ошибку AVR Simulator: Stack pointer below start of RAM, понимаю что ошибка глобальная, но не могу понять что приводит к ее появлению :(


День добрый. Исходник можно? Насколько я понимаю он говорит что указатель стека ниже начала ОЗУ.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
nppElM
Родился
Сообщения: 12
Зарегистрирован: Чт мар 05, 2009 10:32:23

Спасибо!

Сообщение nppElM »

Большое спасибо за участие :) Ошибка нашлась - некорректый возврат из п/п по ret привел к такому вот вываливанию из стека.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: Спасибо!

Сообщение edm2007 »

nppElM писал(а):Большое спасибо за участие :) Ошибка нашлась - некорректый возврат из п/п по ret привел к такому вот вываливанию из стека.

Вот и замечательно. :)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Ответить

Вернуться в «AVR»