Заголовок сообщения: Re: AVR studio в вопросах и ответах
Добавлено: Пт апр 05, 2019 13:24:49
Это не хвост, это антенна
Карма: 20
Рейтинг сообщений: 185
Зарегистрирован: Вс мар 28, 2010 12:52:22 Сообщений: 1368 Откуда: Беларусь
Рейтинг сообщения:0
Да. Переменная не объявлена volatile. Попробую, отпишусь. Спасибо! PS Работает! Спасибо большое за дельный совет.
_________________ «Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.
Приглашаем 4 февраля на бесплатный вебинар о BlueNRG-LP - новой системе-на-кристалле (SoC) STMicroelectronics. На вебинаре будут детально рассмотрены функциональные блоки, особенности подключения, аппаратные и программные средства для разработки, настройка сценариев с помощью BlueNRG-GUI, практические примеры работы с микросхемой, а также примеры применения BlueNRG-LP в устройствах интернета вещей.
Это я читал. Я не могу понять какой алгоритм для приходящего байта написал автор. Код я конечно перевел. Например out. Зачем автор из регистра отправляет в порт данные если он принимает байт портом. Вообще алгоритм не понятен
В связи с ростом привлекательности карбид-кремниевой технологии для более низковольтных приложений разработчики должны хорошо понимать, в каких случаях классические кремниевые MOSFET следует заменять транзисторами, изготавливаемыми по новой технологии.
данный формат описания обработчика прерывания, как и формат ассемблерной вставки, не характерен для Atmel Studio (и для AVR Studio тоже), поэтому вопрос задан не в той теме.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе удивительно, но при взгляде на многих сверху ничего не меняется...
Например out. Зачем автор из регистра отправляет в порт данные если он принимает байт портом
потому как каждый порт имеет наименование - вы по адресу порта определили, что это за порт? а ведь это не просто порт... замените адреса их соответствующими наименованиями (в даташите наваш МК все есть!), и вы поймете, с какой периферией идет работа. зная это вы сможете расписать значение каждого бита в константах, которые в эти самые "порты" выводятся - и тогда станет понятно, что на самом деле происходит
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе удивительно, но при взгляде на многих сверху ничего не меняется...
Тут 0x3F адрес периферии? Адрес регистра периферии?
вы хотите, чтобы я за вас сходил в даташит и нашел там этот адрес, а затем сказал вам, какому регистру периферии он соответствует?
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе удивительно, но при взгляде на многих сверху ничего не меняется...
Нет что вы. Это я могу сделать сам. Единственное скажите там где 0x00 это всегда адрес?
Ну вот.
In r16, 0x3F // загрузить данные из порта I/O в регистр. То есть данные из SREG в переменную r16. Или не так понял.
А это.
Ldi r16, 0x00 // загрузить непосредственное значение. 0x00 по таблице просто зарезервирован и не имеет никакой функции. Или как понять.? Я только в codevishion avr могу что нибудь написать. Asm не понимаю. Хотя очень надо понять как выполняется эта программа
Последний раз редактировалось mixon46 Ср апр 10, 2019 11:57:49, всего редактировалось 1 раз.
Единственное скажите там где 0x00 это всегда адрес?
не всегда. команды ассемблера могут быть без операндов (например, cli), с оним операндом (ser r0) или с двумя операндами (out port, r16) как правило, если один операнд в команде, то это регистр (даже не вспомню сразу - есть ли исключения?) а вот у двухоперандных команд только один из операндов может быть (а может и не быть) адресом, а второй, всегда регистр. но все вышесказанное вы можете узнать по описанию команд ассемблера AVR, о чем вам уже говорили. находите команду, читаете её описание, узнаете, какие у неё операнды, а затем по этим операндам разбираетесь, что это - адрес или что-то иное.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе удивительно, но при взгляде на многих сверху ничего не меняется...
Заголовок сообщения: Re: AVR studio в вопросах и ответах
Добавлено: Ср апр 10, 2019 14:08:11
Это не хвост, это антенна
Карма: 20
Рейтинг сообщений: 185
Зарегистрирован: Вс мар 28, 2010 12:52:22 Сообщений: 1368 Откуда: Беларусь
Рейтинг сообщения:0
LDI Rd, K Load Immediate Rd ← K - команда ldi записывает константу в регистр. В каждом datasheet имеется раздел Instruction Set Summary в котором расписаны команды и их особенности для конкретного микроконтроллера.
Добавлено after 7 minutes 50 seconds: У меня другой, непонятный мне вопрос: Написанный мной код в студии версии 6.0 отказывается работать в студии 7-й версии. При отладке получаю, что участок кода: stack1_new[count_task_save] = SP; предназначенный сохранить текущий адрес стека по счетчику в массив сохраняет в ячейку watch stack1_new[0] значение 1096 при значении адреса стека 0x448. Вот участок дизассемблера:
Строка IRAM
Как быть в такой ситуации - не знаю, т.к. код не работает в 7-й студии от слова совсем. PS Сам дурак! Представление данных в watch в десятичном виде!
Добавлено after 1 hour 16 minutes 34 seconds: Может кому будет важно. При миграции проекта в Атмел Студио 7 из 6-й версии проект отказывался работать. После создания нового проекта в 7-й студии и переносе кода пришлось немножко пошаманить и код заработал.
_________________ «Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.
При миграции проекта в Атмел Студио 7 из 6-й версии проект отказывался работать. После создания нового проекта в 7-й студии и переносе кода пришлось немножко пошаманить и код заработал
это очень информативное замечание. я уверен, что ни у кого вот вообще никаких вопросов не возникло - все же знают о проблеме, да и шаман тут каждый первый.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе удивительно, но при взгляде на многих сверху ничего не меняется...
Объясните мне пожалуйста как работает этот программный uart. Не могу дать ладу. Зачем автор записывает значение таймера счетчика TCNT в РОН. Затем он вычитает из этого значения 194. Затем идет сравнение с числом 124. И если 124 больше чем значение TCNT-194 то записывает в регистр сравнения получившиеся число. А если меньше то вычитает 124 и записывает в регистр сравнения. Если в регистр сравнения должно быть записано число 124. Так как судя из ф ормулы для расчета скорости передачи uart и кварцем на 9.6 мнц и председателем на 8. Должно быть занесено в регистр сравнения число 124 что является в свою очередь прерыванием каждые 104 мкс и равно скорости 9600 бод в секунду. Зачем сделано так. Не пойму.
Объясните если например TCNT был 43 например. И мы вычитаем 194. 43-194. Мк посчитает что равно нулю или равно 104 будет. Потом будет сравнение. Константа 124 будет больше чем 104. И запишет в регистр сравнения 104. Что за бред.
я запомнил только [Ctrl]+[M]+[L]. Хотя есть еще комбинации клавиш. Может еще кто чего подскажет?
Тоже вопрос есть. Как вернуть вкладку VA Outline? Нечаянно закрыл, а где она включается найти теперь не могу. На одном компе она есть, на другом нет
_________________ "Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Здравствуйте. Есть вопрос, не совсем в тему но все же. Смотрите - есть Atmega128, в допотопной железяке. Есть предполагаемый разьем для программирования. Но на этот разьем выведены пины PDI, не спи, не житаг. Шилось это все каким-то програматором фирменным - корпус как у MkII, но интерфейс COM. Но старики хрестятся что и юсбшным МК2 шьется. Только вот студия не конектится, да и нет там варианта подключения по ПДИ к такому камню. Может кто внести ясность что это такое? Так же есть в распоряжении Atmel ICE, но выбрав его в студии так же не появляется варианта по ПДИ. Нам надо стащить с чипа прошивку, и прошить аналогичную железяку. Это типа нашего производства, только ему лет 15 и уже никто ничего не помнит
Сейчас этот форум просматривают: chern55, Majestic-12 [Bot] и гости: 5
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения