уфф.. устал лопатить инфу, скажу честно, весь раздел форума не читал(а ведь это 1800 постов) ну да ладно ближе к делу: почитав обучалку об AVR но никак не могу понять последовательность написания кода и компиляции! батник создал, заголовочный файл так же создал, а дальше не внюхиваю никак цитата из обучалки: Ну вот, с заголовочными файлами разобрались. Ниже можно писать текст программы. Напишем что-нибудь вроде:
ldi R16,5 ;загрузка констант в регистры ldi R17,7 and R16,R17 ;логическое «И» двух регистров nop
где написать текст в блокноте или в ассемблере ??? дальше:(из обучалки)
Сохраняем файл. Окно можно не закрывать. Лезем в папку tutorial и запускаем compile.bat. Файл компилируется. Не забывайте сохранять файл перед каждой компиляцией!
куда его нужно сохранить и в каком расширении???
в принципе пока вопросов нету, коты, будьте добры пожуйте за меня ,
где написать текст в блокноте или в ассемблере ???
Как по мне, так лучше нет старого доброго MultiEdit, но это касается только удобства набора. Он обеспечивает вертикальное выделение ( колонки ), сравнение двух файлов и т.д. Сохраняем с расширением .asm . Затем компилируем - AVR Studio версия не ниже 4.18 - и никаких проблем. Дальше включаем голову
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс июн 12, 2011 02:16:57
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Я сразу так и сделал в своё время. Сразу скачал AVR Studio 4 и не стал "париться" с батниками, блокнотом и TAVRASMом. Написал, нажал "Build" и прошивка готова. Тем более, по умолчанию, кнопка сборки под носом, выше окна редактора. Ниже окна редактора - окно вывода результатов. Если есть косякС, щёлкнул 2 раза на строчку с красным кружком и курсор показывает строку с ошибкой. Сбоку дерево папок проекта. Очень полезна виртуальная папка "Labels" В большой программе легко отыскать любую метку или подпрограмму. Если проект состоит из нескольких файлов с исходниками, то под окном редактора они открываются, как вкладки, что позволяет быстро переключаться между файлами исходников. Фич, полезностей и удобностей намного больше, чем у простого блокнота с батниками и консольным компилятором. Да к тому же эта среда простая в обращении и более дружелюбна к ассемблеру в отличии от Eclipse, AVR Studio 5, IAR и прочих Сишных мощных сред.
_________________ I am DX168B and this is my favourite forum on internet!
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс июн 12, 2011 07:49:33
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19681 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
DX168B писал(а):
Написал, нажал "Build" и прошивка готова.
Нажал "Program", и прошивка уже в контроллере.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс июн 12, 2011 11:06:51
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19681 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
DX168B писал(а):
Наверное всё-таки надо будет отслеживать порядок последовательностей.
Получилось Сделал две ветки обработки направления вращения с обязательным проходом через все состояния. Т.е. пока энкодер неподвижен (11) опрашиваем порты и ждём 01, либо 10 (00 на данный момент эквивалентно 11). Далее (когда считалось 01 или 10) ждём 00, далее ждём 10 или 01 соответственно, ну и наконец ждём 11. Всё, энкодер переместился на 1 положение. Теперь можно делать что-то и в начало, опрашивать порты в ожидании 01 или 10. Возможно не самый компактный и изящный вариант. Зато работает без всяких кондёров
Теперь другая задача: сделать ограничение (насыщение) регистра (а ещё лучше сразу регистровой пары). Т.е. вращаем ручку в одну сторону — увеличиваем счётчик, в другую — уменьшаем, и необходимо избежать переходов 0 —» FFh (в общем случае 0 —» 0xFFFFh) и FFh —» 0 (0xABCDh —» 0xABCЕh, где ABCD — верхний порог).
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пн июн 13, 2011 13:05:08
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19681 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Jack_A писал(а):
Элементарно, Ватсон !
Вообще, я почему-то не захотел использовать 4 старшие решистровые пары Ну и всё оказалось действительно элементарно: сначала сравниваем старший байт с порогом, потом (только если совпало) — младший. Если совпало в обоих случаях, пропускаем инкремент/декремент.
Кстати, по поводу икремента обобщённой регистровой пары. Как сделать это изящно (кроме команды 'adiw')? На ум приходит только сложить младший байт с регистром, в котором находится "1" (аналог команды inc, только с флагом С), а затем сложить с переносом старший байт с регистром, в котором находится "0" (т.е. по сути просто прибавить флаг переноса). Ну да ладно, это вроде уже не так давно обсуждали.
Теперь усложняю задачу с энкодером и порогами: прибавлять/вычитать не единицу, а 1/10/100 в зависимости от скорости вращения энкодера, причём с сохранением ограничения (порогов) Чую, без таймеров не обойтись. Пошёл курить даташит.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Последний раз редактировалось Gudd-Head Пн июн 13, 2011 13:19:06, всего редактировалось 1 раз.
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пн июн 13, 2011 13:15:25
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Мне кажется, что изящнее метода нет, чем adiw \ sbiw Может и есть, но пока я не видел ничего подобного, чтобы одной строчкой можно было прибавить \ отнять восьмибитную константу к \ с 16-битному(го) значению(я) (рег. паре)
_________________ I am DX168B and this is my favourite forum on internet!
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пн июн 13, 2011 13:21:08
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19681 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
DX168B писал(а):
Мне кажется, что изящнее метода нет, чем adiw \ sbiw
Про одну строчку никто и не говорил, adiw / sbiw всё равно выполняется за 2 такта. З.Ы.: см. мой пред. пост, я его подредактировал
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пн июн 13, 2011 14:23:49
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
У меня бы мозги взорвались сделать такое. Я же ещё котёнок в МК. Лучше я свой кодовый замок доделаю и термометр на DS18B20. У меня готовится к выходу четвёртая версия замка.
_________________ I am DX168B and this is my favourite forum on internet!
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пн июн 13, 2011 15:23:18
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19681 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
DX168B писал(а):
Лучше я свой кодовый замок доделаю и термометр на DS18B20.
Я тоже где-то с год назад сделал термометр на 18В20. Правда, самый элементарный: только для положительных температур и без проверки CRC.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пн июн 13, 2011 18:04:07
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Цитата:
Взломщики в панике...
Конечно в панике будут, когда код длинной до 20 знаков + четыре дополнительные клавиши A, B, C и D к цифрам.
Дерьмометырь: У меня он будет и отрицательную мерить, и CRC считать, но я не буду использовать серийники датчиков.
И кстати, у меня вопрос. Имеем три числа в диапазоне от 0 до 9 в трёх разных регистрах. Как их собрать в один регистр. То есть к примеру три числа: 1, 3 и 8 в трёх разных регистрах. Надо их собрать в один регистр, чтобы получилось в нём число 138 Пример на ассемблере можно не выкладывать, меня больше интересуют действия над этими регистрами (числами)
_________________ I am DX168B and this is my favourite forum on internet!
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пн июн 13, 2011 18:05:59
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19681 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
DX168B писал(а):
То есть к примеру три числа: 1, 3 и 8 в трёх разных регистрах.
1*100 + 3*10 + 8 = 138
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения