Форум РадиоКот http://radiokot.ru/forum/ |
|
AVR studio в вопросах и ответах http://radiokot.ru/forum/viewtopic.php?f=57&t=6996 |
Страница 146 из 151 |
Автор: | Vlad_RK [ Пт апр 05, 2019 11:59:57 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
Я Си не перевариваю. Ассемблер рулит! |
Автор: | dr.doc [ Пт апр 05, 2019 13:24:49 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
Да. Переменная не объявлена volatile. Попробую, отпишусь. Спасибо! PS Работает! Спасибо большое за дельный совет. |
Автор: | mixon46 [ Вт апр 09, 2019 21:46:38 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
Кто может подучить по ASM в виде комментариев к командам. Вот на примере. Что там вообще происходит. Что можете сказать по данному коду? А вот еще. Мне это тоже нужно разобрать. |
Автор: | Vlad_RK [ Ср апр 10, 2019 05:11:53 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
Кто может подучить по ASM в виде комментариев к командам. Вам нужно описание команд почитать, там все подробно расписано. Вот: http://www.gaw.ru/html.cgi/txt/doc/micr ... /start.htm Или PDF: https://yadi.sk/i/m4ztj2m8SLot6w |
Автор: | mixon46 [ Ср апр 10, 2019 06:30:21 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
Это я читал. Я не могу понять какой алгоритм для приходящего байта написал автор. Код я конечно перевел. Например out. Зачем автор из регистра отправляет в порт данные если он принимает байт портом. Вообще алгоритм не понятен |
Автор: | ARV [ Ср апр 10, 2019 06:42:15 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
mixon46 писал(а): Что можете сказать по данному коду? mixon46 писал(а): interrupt [PCINT0] void pin_change_isr(void) данный формат описания обработчика прерывания, как и формат ассемблерной вставки, не характерен для Atmel Studio (и для AVR Studio тоже), поэтому вопрос задан не в той теме.
|
Автор: | mixon46 [ Ср апр 10, 2019 10:49:27 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
Это вставка asm в codevishion avr. Но мне надо понимать что происходит в asm коде. Что он выполняет |
Автор: | ARV [ Ср апр 10, 2019 10:54:32 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
mixon46 писал(а): Это вставка asm в codevishion avr о чем я и написал - не та тема.mixon46 писал(а): Например out. Зачем автор из регистра отправляет в порт данные если он принимает байт портом потому как каждый порт имеет наименование - вы по адресу порта определили, что это за порт? а ведь это не просто порт...замените адреса их соответствующими наименованиями (в даташите наваш МК все есть!), и вы поймете, с какой периферией идет работа. зная это вы сможете расписать значение каждого бита в константах, которые в эти самые "порты" выводятся - и тогда станет понятно, что на самом деле происходит |
Автор: | mixon46 [ Ср апр 10, 2019 11:26:42 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
Еще раз. Пример. In r16, 0x3F Тут 0x3F адрес периферии? Адрес регистра периферии? |
Автор: | ARV [ Ср апр 10, 2019 11:32:00 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
mixon46 писал(а): Тут 0x3F адрес периферии? Адрес регистра периферии? вы хотите, чтобы я за вас сходил в даташит и нашел там этот адрес, а затем сказал вам, какому регистру периферии он соответствует? ![]() |
Автор: | mixon46 [ Ср апр 10, 2019 11:40:47 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
Нет что вы. Это я могу сделать сам. Единственное скажите там где 0x00 это всегда адрес? Ну вот. In r16, 0x3F // загрузить данные из порта I/O в регистр. То есть данные из SREG в переменную r16. Или не так понял. А это. Ldi r16, 0x00 // загрузить непосредственное значение. 0x00 по таблице просто зарезервирован и не имеет никакой функции. Или как понять.? Я только в codevishion avr могу что нибудь написать. Asm не понимаю. Хотя очень надо понять как выполняется эта программа |
Автор: | ARV [ Ср апр 10, 2019 11:57:34 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
mixon46 писал(а): Единственное скажите там где 0x00 это всегда адрес? не всегда. команды ассемблера могут быть без операндов (например, cli), с оним операндом (ser r0) или с двумя операндами (out port, r16) как правило, если один операнд в команде, то это регистр (даже не вспомню сразу - есть ли исключения?) а вот у двухоперандных команд только один из операндов может быть (а может и не быть) адресом, а второй, всегда регистр. но все вышесказанное вы можете узнать по описанию команд ассемблера AVR, о чем вам уже говорили. находите команду, читаете её описание, узнаете, какие у неё операнды, а затем по этим операндам разбираетесь, что это - адрес или что-то иное. |
Автор: | mixon46 [ Ср апр 10, 2019 12:25:54 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
похоже я понял что я ничего не понял. Не ну я понял что вы написали. Я не понял вот это ldi r16, 0x00 \\ 0x00 это адрес РОН R1. Я так понял. Загрузить данные из R1 в R16. А зачем? |
Автор: | dr.doc [ Ср апр 10, 2019 14:08:11 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
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-й студии и переносе кода пришлось немножко пошаманить и код заработал. |
Автор: | ARV [ Чт апр 11, 2019 06:31:56 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
dr.doc писал(а): При миграции проекта в Атмел Студио 7 из 6-й версии проект отказывался работать. это очень информативное замечание. я уверен, что ни у кого вот вообще никаких вопросов не возникло - все же знают о проблеме, да и шаман тут каждый первый.
После создания нового проекта в 7-й студии и переносе кода пришлось немножко пошаманить и код заработал |
Автор: | mixon46 [ Вс апр 14, 2019 22:11:40 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
Я тут подробно расписал инициализацию принятого байта. Из того кода на asm что бы понять что происходит. Я практически понял весь смысл его. но не очень понятно как посчитали что бы прерывание срабатывало в середине бита. нет общей картины. не вижу |
Автор: | mixon46 [ Чт апр 18, 2019 14:29:54 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
Объясните мне пожалуйста как работает этот программный 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. Что за бред. |
Автор: | FeCat [ Вс май 19, 2019 07:54:50 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
В редакторе - код внутри { } можно сворачивать. Можно как то в последней студии свернуть сразу весь код на странице? |
Автор: | serg_svd [ Вт май 21, 2019 11:42:59 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
я запомнил только [Ctrl]+[M]+[L]. Хотя есть еще комбинации клавиш. Может еще кто чего подскажет? Тоже вопрос есть. Как вернуть вкладку VA Outline? Нечаянно закрыл, а где она включается найти теперь не могу. На одном компе она есть, на другом нет ![]() |
Автор: | Ярослав555 [ Ср май 22, 2019 14:58:32 ] |
Заголовок сообщения: | Re: AVR studio в вопросах и ответах |
Здравствуйте. Есть вопрос, не совсем в тему но все же. Смотрите - есть Atmega128, в допотопной железяке. Есть предполагаемый разьем для программирования. Но на этот разьем выведены пины PDI, не спи, не житаг. Шилось это все каким-то програматором фирменным - корпус как у MkII, но интерфейс COM. Но старики хрестятся что и юсбшным МК2 шьется. Только вот студия не конектится, да и нет там варианта подключения по ПДИ к такому камню. Может кто внести ясность что это такое? Так же есть в распоряжении Atmel ICE, но выбрав его в студии так же не появляется варианта по ПДИ. Нам надо стащить с чипа прошивку, и прошить аналогичную железяку. Это типа нашего производства, только ему лет 15 и уже никто ничего не помнит ![]() |
Страница 146 из 151 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |