Заголовок сообщения: Re: AVR studio в вопросах и ответах
Добавлено: Пт апр 05, 2019 13:24:49
Это не хвост, это антенна
Карма: 20
Рейтинг сообщений: 185
Зарегистрирован: Вс мар 28, 2010 12:52:22 Сообщений: 1368 Откуда: Беларусь
Рейтинг сообщения:0
Да. Переменная не объявлена volatile. Попробую, отпишусь. Спасибо! PS Работает! Спасибо большое за дельный совет.
_________________ «Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.
Любая разработка начинается с чтения документации и изучения доступных средств разработки. Данный материал целиком посвящен средствам разработки, включая детальные инструкции по запуску вашего первого приложения на BlueNRG-LP. Описана работа с отладкой STEVAL-IDB011V1, набором инструментов и пакетом ПО позволяющим разработчику быстро войти в курс дела.
Это я читал. Я не могу понять какой алгоритм для приходящего байта написал автор. Код я конечно перевел. Например out. Зачем автор из регистра отправляет в порт данные если он принимает байт портом. Вообще алгоритм не понятен
Что привлекает в SiC по сравнению с кремнием, и какие особенности делают компоненты SiC часто используемыми, несмотря на более высокую стоимость в сравнении с кремниевыми высоковольтными устройствами? – Объясняет специалист ведущего разработчика силовых приборов из карбида кремния, компании Infineon.
данный формат описания обработчика прерывания, как и формат ассемблерной вставки, не характерен для 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 и уже никто ничего не помнит
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения