AVR studio в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Ответить
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Вт авг 16, 2016 20:27:29

Сообщение Varimon »

При запуске по F5 и заранее установленном брэйкпоинте у меня срабатывало поэтому меня и интересует Пошагово не предусмотрено, что ли? В Debug -> Options -> Tools -> Tool settings -> Опция Mask interrupts while stepping -> True разрешить. Для чего тогда эта настройка? Disable/re-enable interrupts, to prevent entering ISR routines while single-stepping.
Реклама
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Вт авг 16, 2016 20:27:29

Сообщение Varimon »

Кстати сейчас запретил опцию Debug -> Options -> Tools -> Tool settings -> Опция Mask interrupts while stepping -> False запретить. И у меня в пошаговом режиме сработало прерывание, перескочило в дизассемблерный код и там шагает дальше! Так что все заработало! После шагания по коду прерывания, вернулось в основной код.
Реклама
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Чт янв 01, 2015 16:34:55

Сообщение ПТУ-шник »

Народ скиньте пожалуйста аппнот на attiny2313
отсюда: C:\Program Files (x86)\Atmel\AVR Tools\AvrAssembler2\Appnotes\tn2313def.inc

Решил пофиксить таблицу векторов там. Оказывается там прерывания RESET нет :shock: Дофиксился и куча ошибок вылезла.
Друг Кота
Аватара пользователя
Сообщения: 6349
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Ты предлагаешь по инету залезть в твой диск С: и там найти нужный апноут ? Проблематично это :)
Вот тебе этот файл, только он у меня лежит в С:\Program Files\... Cгодится ? :) Только поменяй расширение .txt на .inc У меня с .inc почему-то не отправляется. И никакой таблицы векторов там нет, а есть только определения символьных имен. Таблицу можешь скопипастить из ПДФ-ки на тиньку, стр 48. И потерявшийся RESET там окажется :)
И какой смысл ты вкладываешь в слово "пофиксить" ? На программерском жаргоне это значит "исправить баги" :(
Вложения
tn2313def.txt
(12.57 КБ) 283 скачивания
Изображение
Реклама
Эиком - электронные компоненты и радиодетали
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Чт янв 01, 2015 16:34:55

Сообщение ПТУ-шник »

Помойму это немного не то. Вылазиет

Код: Выделить всё

C:\Program Files (x86)\Atmel\AVR Tools\AvrAssembler2\Appnotes\tn2313def.inc(122): error: Attempt to redefine keyword 'z'
и т.д. Пока просто закоментил эти строчки в апноте.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6349
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Ну что ж тут непонятного ? Попытка переопределить ключевое слово Z. Где-то после стандартного определения ZL,ZH как R30,R31 нашлось другое def, которого быть не должно.
Изображение
Реклама
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Чт янв 01, 2015 16:34:55

Сообщение ПТУ-шник »

Jack_A писал(а):Ну что ж тут непонятного ? Попытка переопределить ключевое слово Z. Где-то после стандартного определения ZL,ZH как R30,R31 нашлось другое def, которого быть не должно.
Ругается на это:

Код: Выделить всё

.equ Z          = 1
Ниже ничего подобного нет и ничего похоже тоже нет вроде.

Стрёмно это. Аппнот должен работать прям из "коробки", а приходится ручками делать.
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

Наверное z это бит регистра SREG. Вам не жить не быть нужно такое определение, zz не устроит?
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Друг Кота
Аватара пользователя
Сообщения: 6349
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

В .inc уже есть определение :
.equ SREG_Z = 1 ; Zero Flag

А вот откуда взялось это странное

Код: Выделить всё

 .equ Z          = 1
- ну уж никак не из коробки, в которой был .inc на тини2313. Может, коробку повредили при перевозке ? :)
Изображение
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1337
Зарегистрирован: Сб июн 09, 2012 02:14:11
Откуда: ХАРЬКОВ

Сообщение СЦБист »

что надо выбрать что-бы писать на си ?
Вложения
Безымянный.JPG
(85.25 КБ) 519 скачиваний
Модератор
Аватара пользователя
Сообщения: 4618
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Странный вопрос, учитывая, что варианта всего 2, из которых один - Assembler :)
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1337
Зарегистрирован: Сб июн 09, 2012 02:14:11
Откуда: ХАРЬКОВ

Сообщение СЦБист »

какой должен быть инклуд для меги 8а ?
Вложения
Безымянный.JPG
(85.57 КБ) 353 скачивания
Модератор
Аватара пользователя
Сообщения: 4618
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Это не хвост, это антенна
Аватара пользователя
Сообщения: 1337
Зарегистрирован: Сб июн 09, 2012 02:14:11
Откуда: ХАРЬКОВ

Сообщение СЦБист »

какой должен быть инклуд для меги 8а ?


аналог .include "m8Adef.inc"
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Чт янв 01, 2015 16:34:55

Сообщение ПТУ-шник »

СЦБист писал(а):какой должен быть инклуд для меги 8а ?
аналог .include "m8Adef.inc"
Может так:

Код: Выделить всё

.include  "C:\Program Files (x86)\Atmel\AVR Tools\AvrAssembler2\Appnotes\m8Adef.inc"
Просто путь к инклуду должен быть. У меня все эти аппноты в этой папке лежат. Только я программирую на ассемблере. Но думою это и для си тоже подойдёт.
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1337
Зарегистрирован: Сб июн 09, 2012 02:14:11
Откуда: ХАРЬКОВ

Сообщение СЦБист »

нет не так а так .include "m8Adef.inc"

это в асме.


что в си для меги 8а должно быть ?

так чоль ?

#include <avr/io.h>
Модератор
Аватара пользователя
Сообщения: 4618
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

СЦБист, всё же гуглиться за считанные секунды. Ну зачем задавать тут такие глупые вопросы ?
Неужели лень набрать в поисковике пару слов и почитать статьи ? :facepalm:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1337
Зарегистрирован: Сб июн 09, 2012 02:14:11
Откуда: ХАРЬКОВ

Сообщение СЦБист »

я в студии писал только на асме.

почему этот кусок не компилируется ?
Вложения
Безымянный.JPG
(117.81 КБ) 495 скачиваний
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Сообщение COKPOWEHEU »

Потому что gcc не нашел файла iom8.h в директориях по умолчанию. Плохой выбор для самописного заголовочника - он совпадает с системным. А подобные системные напрямую к проекту не подключаются никогда.
Но что не находит этот файл это странно. Проверьте системную переменную $PATH и пути в makefile.
Если не знаете что такое PATH, makefile и как подключаются заголовочники с переферией - читайте соответствующие статьи, они для того и написаны.
Мудрый кот
Аватара пользователя
Сообщения: 1815
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

Может не в треугольных скобках, а в двойных кавычках? :)
Не, не так. В треугольных скобках, но по другому.
Определить в проекте тип МК, а в исходнике
#include <avr/io.h>

Всякие системные, как уже написали ранее, io8m.h на прямую не инклюдяться.

Инклюды самописных заголовочников пишутся с двойными кавычками. Ну и называть свои инклюдники именами системных - нехорошо, как минимум.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Ответить

Вернуться в «AVR»