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

Обсуждаем контроллеры компании Atmel.
Борис+
Мучитель микросхем
Сообщения: 431
Зарегистрирован: Пт апр 15, 2011 14:14:45

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

Сообщение Борис+ »

Здравствуйте увахаемые. Я давно хочу освоить AVR но не могу найти программу на русском языке(с английским мне трудно) облазил везде предлогоют в основном обман какойто так может кто знает где скачать или свою даст буду очень благодарен за ранее спасибо
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

Борис+ писал(а):Здравствуйте увахаемые. Я давно хочу освоить AVR но не могу найти программу на русском языке(с английским мне трудно) облазил везде предлогоют в основном обман какойто так может кто знает где скачать или свою даст буду очень благодарен за ранее спасибо

Вы что ли Студию на русском хотите? :) Что за бред. Как же вы даташиты и аппноты тогда читать будете, если со студией не можете разобраться?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
ANALOG
Мучитель микросхем
Сообщения: 444
Зарегистрирован: Вс ноя 28, 2010 15:18:52
Откуда: Минск

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

Сообщение ANALOG »

О! Круто, установил 4.16 версию и теперь там дофигище контроллеров. :) :))) :)))
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

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

Сообщение vitalik_1984 »

Gudd-Head писал(а):
Борис+ писал(а):Здравствуйте увахаемые. Я давно хочу освоить AVR но не могу найти программу на русском языке(с английским мне трудно) облазил везде предлогоют в основном обман какойто так может кто знает где скачать или свою даст буду очень благодарен за ранее спасибо

Вы что ли Студию на русском хотите? :) Что за бред. Как же вы даташиты и аппноты тогда читать будете, если со студией не можете разобраться?

Ха - ха -ха. она даже в пути файлов руский не поддерживает, не то что по русски говорить.
Легче найти российского производителя микроконстроллеров.

Может вот эти ссылки помогут?

переводчик
еще переводчик
тоже нормальный переводчик
В поисках истины человек развивается.
Борис+
Мучитель микросхем
Сообщения: 431
Зарегистрирован: Пт апр 15, 2011 14:14:45

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

Сообщение Борис+ »

ну пусть не програму а описание к ней тоже подойдет
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

Борис+ писал(а):ну пусть не програму а описание к ней тоже подойдет

Что там описывать? File, Open, Save, New, Run? Там есть встроенный хэлп.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

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

Сообщение Meteor »

Борис+ писал(а):ну пусть не програму а описание к ней тоже подойдет

Поищите в сети эту книгу. Достаточна полезна в плане освоения студии
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Борис+
Мучитель микросхем
Сообщения: 431
Зарегистрирован: Пт апр 15, 2011 14:14:45

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

Сообщение Борис+ »

книгу нешол но хотелось бы описание для програмы тоже
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

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

Сообщение Meteor »

Хоть почитайте что ли.... там же рускким по белому описана работа в студии. Или я чего-то не догоняю?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Борис+
Мучитель микросхем
Сообщения: 431
Зарегистрирован: Пт апр 15, 2011 14:14:45

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

Сообщение Борис+ »

спасибо начал читать
Аватара пользователя
IfoR
Поставщик валерьянки для Кота
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула
Контактная информация:

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

Сообщение IfoR »

У меня тут ещё одна проблемка с макросами. Конкретно - это проклятое целочисленное деление! Как заставить студию в качестве результата 1/2 возвращать 0.5, а не 0?

UPD. А, всё, догадался! :) Здесь нужно как в си: указать, что делимое число является дробным, а не целым. Если написать 1.0/2 то возвращается, как и надо, 0.5! Пойду переписывать макросы. 8)
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
Nipochomus
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вс дек 20, 2009 01:06:21

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

Сообщение Nipochomus »

Здравствуйте!
Подскажите каким образом на языке СИ можно опросить бит порта?
Т.е. if (B.5==1), нужно знать значение только одного бита, на других может быть что угодно.
Объясните пожалуйста на примере, так как в программировании не очень силён.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

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

Сообщение pyzhman »

PINx.n
x - имя порта. A, B, C, D, E, F, G.
n - номер битика в нем.
Docendo discimus
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

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

Сообщение ibiza11 »

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

if (Variable&(1<<Bit))
{....}

Variable - переменная в которой этот бит. Bit - номер бита. Не забываем, что номера битов начинаются с 0 (нуля). переменная типа char в, например, IAR AVR имеет 8бит=[0...7].

В случае,если нужен просто флаг, а не определенный бит переменной можно воспользоваться битовыми полями:

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

struct
{unsigned char bit_0      :1,
             bit_1      :1,
             bit_2      :1,
             bit_3      :1,
             bit_4      :1,
             bit_5      :1,
             bit_6      :1,
             bit_7      :1;
}Flags;

if (Flags.bit_0)
{//действие,если флаг равен 1}
if (!(Flags.bit_0))
{//действие,если флаг равен 0}

имена bit_0,bit_1,...,bit_7 могут быть любыми удобными для использования.
Ставим плюсы: )
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

ibiza11 писал(а):В случае,если нужен просто флаг, а не определенный бит переменной можно воспользоваться битовыми полями
только при этом может увеличиться объем кода, к тому же доступ к битовому полю явно будет неатомарным даже для однобайтной переменной/структуры. чтобы попытаться избежать этих проблем, можно помещать такое битовое поле в РЕГИСТРОВУЮ переменную (если, конечно, вы умеете это делать правильно)
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

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

Сообщение ChipKiller »

Nipochomus писал(а):Подскажите каким образом на языке СИ можно опросить бит порта?
.. а логические операции кто мешает использовать?
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

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

Сообщение ibiza11 »

Мастер Ломастер писал(а):
ibiza11 писал(а):В случае,если нужен просто флаг, а не определенный бит переменной можно воспользоваться битовыми полями
только при этом может увеличиться объем кода, к тому же доступ к битовому полю явно будет неатомарным даже для однобайтной переменной/структуры. чтобы попытаться избежать этих проблем, можно помещать такое битовое поле в РЕГИСТРОВУЮ переменную (если, конечно, вы умеете это делать правильно)
не понял про неатомарный доступ, смотрите листинг:

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

// 764  if (Flag.ModeToutEn)
        LDI     R30, LOW(Flag)
        LDI     R31, (Flag) >> 8
        LDD     R16, Z+1
        SBRS    R16, 7
        RJMP    ??T0_OVF_0
как видно, переменная загружается не по частям, а одной командой LDD. причем как бы вы не удивлялись, но структура Flag у меня типа long. если вы боитесь, что регистры указывающие на ячейку изменятся, то могу вас заверить, что в Сях все обработчики прерываний сохраняют все Scratch регистры, используемые в теле прерывания, в CSTACK и возвращают в исходное состояние по выходу из обработчика.
Ставим плюсы: )
Аватара пользователя
IfoR
Поставщик валерьянки для Кота
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула
Контактная информация:

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

Сообщение IfoR »

Вот у меня ещё один вопрос. Делить я научился, например, запись 5.0/2 даёт 2.5 . Теперь вопрос: как мне у этого числа взять целую часть? Нужно вот почему. Есть запись, например:

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

LDI R25, 5.0/2

Т.е. в регистр R25 мы загружаем число 2, но на таких местах компилятор выражает своё полное недовольство тем, что число дробное и вообще он будет брать от него только дробную часть.
Вот тут и встаёт оговорённый выше вопрос, ибо стопка таких варнингов, при компиляции, совсем не радует глаз.

Пока придумал только одно решение, пишем такой макрос:

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

#define trunc(x) (1/(1.0/(x)))

Как видно, не очень элегантно... И всё таки оно не работает.
А есть ли что нибудь ещё?

ADD:
Методом случайного перебора была найдена такая стандартная функция: int()
Млин, ну есть ли где нибудь мануал по этим всем тонкостям?
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

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

Сообщение ibiza11 »

IfoR писал(а):А есть ли что нибудь ещё?
не понял на каком языке Вы пишете, дефайны у Вас через # как в Си, а команды ассемблера :)
попробуйте так:

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

#define x (char)(5.0/2)
LDI r16,x
Ставим плюсы: )
Аватара пользователя
IfoR
Поставщик валерьянки для Кота
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула
Контактная информация:

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

Сообщение IfoR »

Это сиссемблер - ассемблер с сишным препроцессором. :))

Да, в принципе, проблема уже решена. Извиняюсь за беспокойство, как всегда.
Ещё там нашёл стандартную функция abs(). Интересно, а есть ли там функция округления числа?

Нашёл гейд по AVR assembler на www.atmel.com/dyn/resources/prod_documents/AVRASM2.pdf Изображение. Ппц...
Функции округления нет, но тем не менее её не сложно реализовать:

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

#define round(x) int((x) + 0.5)
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
Ответить

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