Без описания |
Поиск в теме | Версия для печати |
applecutter |
Отправлено: 14 Марта, 2011 - 09:37:20
|
Рядовой
Сообщений всего: 12
Дата рег-ции: Март 2011
|
nest пишет:applecutter пишет:мне по ходу все равно придется использовать встроенные регистры для отсчета времени, потому что в проге использованы все базовые для вывода сигнала там выбрать можно любые три в выпадающем меню.
Любые три из базовых. А они как раз все и заняты. В принципе, чтобы не быть голословным, вот исходник - http://paste.org.ru/?9hfncd , о занятости регистров можно судить уже в дефайнах, и никакие махинации с пушами и попами не помогают - при небольшой задержке в десяток тактов заливка монитора сбивается, покрывает не весь экран, дергается, глючит и не работает.
Цитата:а что такое "встроенные регистры" ?
Имеется в виду полностью словосочетание "встроенные регистры для отсчета времени", то есть те регистры, которые не общего назначения, но являющиеся специальным механизмом для отсчета времени. Хотя, в принципе, можно попытаться заюзать их как регистры общего назначения, но я пока курю мануал и втыкаю как их вообще можно использовать. Мне бы рабочий пример как используются эти тайминговые регистры..
Цитата:Если вы сохраняли их ДО и ПОП-али после и при этом что то не работало - виновата ваша программа.
Совершенно верно, программа виновата что сожрала все доступные ресурсы. Но видимо это было необходимо, потому что некоторые даже сомневались что такая микросхема может давать выход на D-Sub.
(Добавление)
petr пишет:CODE:
Delay:
subi Razr0, 1
suci Razr1, 0
suci Razr2, 0
brcc Delay
При f = 4 MHz возможно создание задержки до 4,19 с.
Подробнее: Ю. Ревич "Практическое программрование МК АВР" стр. 102, использование таймера для формирования задержки, там же стр. 108
Спасибо, обстоятельно раскурю. |
|
|
applecutter |
Отправлено: 15 Марта, 2011 - 12:50:20
|
Рядовой
Сообщений всего: 12
Дата рег-ции: Март 2011
|
nest пишет:вы SREG то сохраняйте при входе в прерывания! Естественно у вас всё по кочкам летит.
Ок, попробую, щас просто прошивателя нет под рукой. Как сделаю - доложу о результатах.
Цитата:В прерывании не надо делать СLI , это безсмысленно.
В прерывании обычно задержки не делают. Не знаю, может у вас тут оссобенный случай, другого пути точно нет?
Сам не знаю, пока что копаю)
Цитата:applecutter пишет:программа виновата что сожрала все доступные ресурсы. Не программа виновата, а вы Это ведь не СИ какой Если вы взялись за асм, то нужны навыки и опыт.
Регистров в AVR хватит всем ( ) просто применяйте их с умом.
Дык у меня пока что нету достаточно ума даже для того чтобы с нуля написать прогу - правлю чужой исходник) Ну, какбэ, разбираюсь в процессе. |
|
|
applecutter |
Отправлено: 23 Марта, 2011 - 16:24:12
|
Рядовой
Сообщений всего: 12
Дата рег-ции: Март 2011
|
cjA пишет:возможно не в тему но если речь об 2313 то у вас три дженерал пурпоз регистер свободные сидят
Даже и оперативка не нужна и иипром тоже
(даташит по 2313- настольная книга )
(повторюсь, всю ветку- нечитал, может и не в теме)
Да нет, использованы, к сожалению все, - смотри секцию дефайнов - http://paste.org.ru/?9hfncd
(Добавление)
nest пишет:applecutter пишет:попробую заюзать какие-нибудь регистры ввода/вывода для хранения числа отсчетов для счетчика. Это то зачем ?!?!?
Если вам не хватает регистров - то у вас в корне неверный подход к асму.
Да не, я-то с вами согласен, просто не я писал эту прогу - я просто немного подгоняю ее под свои нужды, а чтобы ее полностью переписать нужно в ней очень досконально разобраться, а это долго. |
|
|
|
Поиск в теме | Версия для печати |
Страниц (2): « 1 [2] |
« Программирование микроконтроллеров » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|
|
|