Например TDA7294

Форум РадиоКот • Просмотр темы - AVR studio в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт ноя 11, 2025 17:12:39

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 3189 ]    , , 3, , , ...  
Автор Сообщение
 Заголовок сообщения: Подскажите по использованию препроцессорн. директиве #define
СообщениеДобавлено: Вс мар 09, 2008 14:14:04 
Подскажите по использованию препроцессорной директиве #define в AVR Studio в программе на АССЕМБЛЕРЕ при использовании её не для определения константы, а для определения макроса-функции.

В общем виде определение препроцессорного макроса-функции выглядит так:
#define prepMacrosName (список аргументов) (определение функции)

Вопрос №1

В хелпе приводиться такой пример:
#define SQR(X) ((X)*(X))

Т.е. если я вызову

ldi ZL , low SQR(17)

, то компилятор вместо SQR(17) напишет"

ldi ZL , low ((17) x (17)) или ldi ZL , low (289) ???

Вопрос №2

Обязательно ли в качестве аргументов "функции" макроса числовые переменные? Или можно и куски текстовых строк?
Могу ли я например использовать такой макрос:
#define Command (InstructionType) (InstructionType)

в строке программы

Command (and)i R16 , 0b01001000 // эквивалетно andi R16, 0b01001000
Command (or)i R16 , 0b01001110 // эквивалетно ori R16, 0b01001110


Замечание: как это сделано в СИ-компиляторах НЕ ИНТЕРЕСУЕТ. Интересует как это сделано для ассемблера в AVR Studio


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс мар 09, 2008 18:18:32 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2128
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18423
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
мне вот что непонятно: разве сложно самому взять и откомпилить эти самые макроопределения, чтобы узнать результат?

один сами знаете кто может задать такие вопросоы, что и сто мудрецов не ответят... это я к тому, что, может быть, никому в мире не прийдет в голову именно так поступать, но раз вопрос задан кое-кто (типа меня, например) захочет разобраться и начнет тратить свое время... получается, за вас... а зачем, собственно говоря? если начинающий не понимает, как работает команда ассемблера - это одно, но когда профессионал находит себе способ заморочить голову - это совсем другое...

по сравнению с макроассемблером MCS51 (или для х86) у Atmel-a наредкость убогие, просто катастрофически убогие макроопределения, это известно давно. и даже потуги приблизить их синтаксис к сишному дела не спасают.

по поводу ваших вопросов рискну высказать свои предположения, т.к. проверять почему-то желания нет совсем: макрос в компиялторе ассемблера AVR Studio представляет собой именно текстовую подстановку, т.е. ldi ZL , low SQR(17) приведет к генерации кода ldi ZL, low ((17)*(17)), причем с пробелом после low. для второго вопроса в хелпе сказано, что для контатенции строк (а все операнды макросов есть именно набор символов, т.е. строки) надо использовать директиву ##.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс мар 09, 2008 18:41:40 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
ARV писал(а):
разве сложно самому взять и откомпилить эти самые макроопределения, чтобы узнать результат ?


ARV, экономьте бисер !

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс мар 09, 2008 19:07:31 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2128
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18423
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
tych писал(а):
ARV, экономьте бисер !
да жалко вам, что ли?! :) вы вот на себя перестали быть похожи с такой экономией :) старожилы форума вас не узнаЮт...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения:
СообщениеДобавлено: Вс мар 09, 2008 19:29:55 
Проблему решил сам. Кому интересно посмотрите в Хэлпе AVR Studio. Ключевые слова «Stringification» и «Concatenation)»


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 18, 2008 17:24:15 
Потрогал лапой паяльник

Зарегистрирован: Пт фев 08, 2008 13:46:03
Сообщений: 327
Откуда: Воронеж
Рейтинг сообщения: 0
Есть очень неприятные глюки в AVR Studio4.
Один из них, например - не правильное отображение 16- разрядных чисел в просмотровщике состояния памяти ЭСППЗУ. А именно он путает старшие и младшие байты для слов. Старший байт оказывается в более младшей области памяти чем младший, но при этом в файле .eep, который он генерит, оказывается всё наоборот.

Можно ли как-нибудь устранить этот глюк, а то очень сильно мешает?


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 18, 2008 20:41:59 
pirotehnick писал(а):
Есть очень неприятные глюки в AVR Studio4.
Один из них, например - не правильное отображение 16- разрядных чисел в просмотровщике состояния памяти ЭСППЗУ. А именно он путает старшие и младшие байты для слов. Старший байт оказывается в более младшей области памяти чем младший, но при этом в файле .eep, который он генерит, оказывается всё наоборот.

Можно ли как-нибудь устранить этот глюк, а то очень сильно мешает?

Это не глюк. Это принятый в AVR Studio формат отображения


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт май 01, 2008 21:39:09 
Открыл глаза

Зарегистрирован: Сб мар 10, 2007 12:50:43
Сообщений: 67
Рейтинг сообщения: 0
вопрос по отладке в аврстудии мега8535, настройка модуля usart (не смешно)
там регистры UBRRH b UCSRC имеют один адрес.
код самый простой:

sbi ddrd,0
sbi portd,0
sbi ddrd,1
sbi portd,1
ldi temp,UBR_232
out UBRRL,temp
ldi temp,0
out UBRRH,temp
ldi temp,(1<<TXEN)|(1<<RXEN)|(1<<RXCIE)
out UCSRB,temp
ldi temp,(1<<URSEL)|(1<<USBS)|(3<<UCSZ0> запись в UCSRC
out UCSRC,temp
однако при выполнении изменяется UBRRH
такое ощущение что студия не реагирует на URSEL=1
версия студии 4.12.497 SP4


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт май 01, 2008 21:42:22 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
Дак хелп к студии чтить надобно. А симулить в VMLAB и PROTEUS соответствующие МК.

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт май 01, 2008 22:25:00 
Открыл глаза

Зарегистрирован: Сб мар 10, 2007 12:50:43
Сообщений: 67
Рейтинг сообщения: 0
там вроде предлагается записывать ubrrh после ucrsc
но что то не помогает....
подскажи .... :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт май 01, 2008 22:47:17 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
rlc писал(а):
там вроде предлагается записывать ubrrh после ucrsc
но что то не помогает....
подскажи .... :)


ucrsc - наверно ошибка. нужно UCSRC

я обычно смотрю АСМ листинг компилятора CVAVR - вот из задачи 5 курса под кнопкой моей домашней странички.

000117 b9ea OUT 0xA,R30
; 286 UCSRC=0x86;
000118 e8e6 LDI R30,LOW(134)
000119 bde0 OUT 0x20,R30
; 287
; 288 //UBRRH=0x00; // USART Baud rate: 115200
; 289 //UBRRL=0x05; это настройки из задачи 5

===
в прицепе исходник и весь листинг


Вложения:
z5.rar [16.3 KiB]
Скачиваний: 587

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт май 02, 2008 10:08:52 
Открыл глаза

Зарегистрирован: Сб мар 10, 2007 12:50:43
Сообщений: 67
Рейтинг сообщения: 0
если в протеусе (у меня 7.2 sp2) отсутствует компонент (мега8535) это можно как-то поправить? скачать дополнения например?
может кто уже спрашивал, но я что-то не нашёл.... :(


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт май 02, 2008 10:22:52 
Э...
Аватар пользователя

Карма: 1
Рейтинг сообщений: 9
Зарегистрирован: Ср апр 04, 2007 08:39:14
Сообщений: 2792
Откуда: Москва
Рейтинг сообщения: 0
Нет. не лечится ни как. Только сравнивать на совместимсть с мегой16 например и пытаться помоделировать или в железе.

При выборе МК советую учитывать наличие инструментария для разработки ! Пока это Меги 8 16 32 64 128 для VMLAB и PROTEUS.

_________________
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 24, 2008 23:08:05 
Опытный кот
Аватар пользователя

Зарегистрирован: Сб янв 05, 2008 11:05:15
Сообщений: 849
Откуда: Україна м.Луцьк
Рейтинг сообщения: 0
В AVR-Studio выбираю Tools -> AVR Prog..., а в ответ получаю привычное уже мне сообщение: "No supported board found! AVRprog version 1.40". Захожу Tools -> Program AVR -> Connect..., перебираю все параметры, порты, после каждой установки проверяю Tools -> AVR Prog... и в ответ получаю все то же "No supported board found! AVRprog version 1.40". Что делать. Программатор AVR910 от PROTTOS.

_________________
Я не Сашок!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 24, 2008 23:11:24 
Опытный кот
Аватар пользователя

Зарегистрирован: Сб янв 05, 2008 11:05:15
Сообщений: 849
Откуда: Україна м.Луцьк
Рейтинг сообщения: 0
Изображение

_________________
Я не Сашок!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июл 15, 2008 19:28:57 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт июн 26, 2008 19:21:24
Сообщений: 73
Рейтинг сообщения: 0
Вопрос знатокам:
покажите пожалуйста ламеру (желательно в скринах), что нужно выставить в AVR Studio 4, чтобы выставить фьюзы как на картинке


Вложения:
Фьюзы.zip [35.77 KiB]
Скачиваний: 654
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 15, 2008 23:15:42 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вс окт 14, 2007 01:09:48
Сообщений: 110
Рейтинг сообщения: 0
Здраствуйте! Сталкнулся с такой проблемой: выкачал из инета AVRStudio4.13SP2.exe , но он при установке пишет, что прога уже установлена и прекращает установку(хотя она никогда и не была установлена)... Как с этим бороться?
и ещё такая проблема: хотел создать прошиву для микроконтролера по обучалке, при компеляции пишет что файл не найден(делал через батник)хотя всё поинструкции :(


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 15, 2008 23:31:37 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вс окт 14, 2007 01:09:48
Сообщений: 110
Рейтинг сообщения: 0
ивеняюсь за столько веток, почемуто не смог в предыдущее сообщение кинуть... :(


Вложения:
Комментарий к файлу: Ошибка батника
скрин ошибки.jpg [28.48 KiB]
Скачиваний: 1043
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 16, 2008 18:27:38 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пн ноя 05, 2007 12:44:43
Сообщений: 87
Откуда: C:\Russia\SPb
Рейтинг сообщения: 0
Кириллица и пробелы в путях (имена файлов и/или каталогов) это зло. Пора бы уже зарубить это себе раз и навсегда.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 16, 2008 18:54:06 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вс окт 14, 2007 01:09:48
Сообщений: 110
Рейтинг сообщения: 0
точно, а на кирилицу то совсем забыл обратить внимание, только щас вот такая проблема... пишет что не в состоянии открыть файл, но путь проверяю, всё прально... почему так может быть?->


Вложения:
проблема с открытием.jpg [31.13 KiB]
Скачиваний: 736
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 3189 ]    , , 3, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y