roboforum.ru

Технический форум по робототехнике.

Тупость, не работает кнопка :(

Re: Тупость, не работает кнопка :(

Yuraskas » 27 июл 2009, 14:35

Спасибо что не поленились!!! самый наглядный и действенный метод обучения!!! Мой код действительно работает не пойми как, на моём макете он работает так же (по нажатию может и не включиться или не выключиться), я думал что дело в железе (наводки или еще что-то), а дело все же в программе, меня смутило то что в протеусе он работал нормально, вот я и грешил на железо а не на софт...
Но дело в том что ваша knopka.hex у меня все равно не работает :( в железе пока не пробовал, но в протеусе работать не хочет :( Проект не прикладываю, т.к. он не изменился - кнопка на D2 и светодиод на D0.
P.S. У вас в коде написано
Код: Выделить всёРазвернуть
LDI       R16,0x40
OUT       MCUCR,R16
LDI       R16,0x40      ;может быть 0x01?
OUT       GICR,R16

Или я неверно дизассемблировал ваш HEX? Поправьте меня пожалуйста.

Re: Тупость, не работает кнопка :(

Vovan » 27 июл 2009, 15:38

Рассказываю:
у меня две ос на компе: в одной ХР и всё что необходимо для всяких обновлений, в т.ч. и Протеус v.7,5 SP3. В этом протеусе я ничего никогда не создавал и не строил, я его держу только для чтения поступающих мне со стороны (например от Вас) проектов. Если Вы пользуетесь им, то мой hex созданый в Протеусе v.6,9 - работать не будет!
Я сам проверял в обоих версиях Протеуса: Ваш hex не работает ни в 6,9 ни в 7,5; в версии 6,9 мой hex (а рАвно и asm) - работают нормально, потому что это их родина, в версии 7,5 мой тоже не пашет.
(ИМХО: не знаю как у кого, но у меня вечные проблеммы с обновлениями Протеуса и АВРСтудии... Обновлю, попарюсь... и на диск с ХР, пусть там лежат :oops:, а себе оставляю то что работало, а не выпендривалось...)
Именно вторая ОС с Протеусом 6,9 - содержит весь необходимый, проверенный временем, отлаженный и настроенный "под меня" софт, именно там я и строю все свои проекты. Возможно я не прав, возможно поступаю не верно (по мнению кого-то), но мне так удобно и никаких проблемм не возникало уже давно, поэтому я не хочу делать лучше, там где сделано хорошо. (Любые советы по этому поводу ф топку!)
В железе мой hex работает 100% нормально проверял на 2-х Мегах8, причём вторая совсем новая - шилась 1-й раз.
По поводу 0х40 - верно, я так и писАл.
Вывод: читаем выше мои посты - Мортон! Почитайте, пожалуйста... умоляю... Всё станет на свои места, поверьте :)
Вечером заглянул сюда прочитать что avr123 написал и обнаружил в своих словах в этом посте неточность, поправлюсь: 0x40 это касательно MCUCR, да и ваще там лучше 00 написать или 10, а в GIFR у меня по-любому не 0х40 (как Вы пишите) здесь нужно шестой бит оединичить 0b01000000. Теперь вылезет правка поста :oops:
Последний раз редактировалось Vovan 27 июл 2009, 22:37, всего редактировалось 1 раз.

Re: Тупость, не работает кнопка :(

avr123.nm.ru » 27 июл 2009, 15:41

Удобно ! Вот и я в курсе учу исползовать те инструменты с которыми удобно работать и тот язык на котором удобно и просто делать ПРОСТЫЕ программы.

Re: Тупость, не работает кнопка :(

Yuraskas » 28 июл 2009, 06:05

Теперь точно правка вылезла :) Ваш код у меня в железе работает на отлично! А в Proteus 7.7 SP3 - нифига не хочет. MCUCR=0x40 - он и так воспринимает это как 0x00, а GICR и должен быть 0x40 ибо 0x40 = 0b01000000. В том посте я написал неправильно, запутался и вас запутал.
А Мортона читаю! Хорошая книжка, читается легко и понятно (по крайней мере пока). и все же непонятно, почему мой код работал нестабильно :(

Re: Тупость, не работает кнопка :(

Vovan » 28 июл 2009, 08:12

Маладца! Верные действия и верное направление :)
А то что Ваш код нестабилен, не стОит с ним разбираться: лучше писАть правильно и просто устранять ошибки (типо описок)...

Re: Тупость, не работает кнопка :(

Yuraskas » 28 июл 2009, 08:26

Еще раз спасибо всем огромное!!! Пожалуй, пора заканчивать тему...


Rambler\'s Top100 Mail.ru counter