Страница 33 из 160
Re: AVR studio 4 в вопросах и ответах
Добавлено: Вт июн 07, 2011 10:49:04
Борис+
Здравствуйте увахаемые. Я давно хочу освоить AVR но не могу найти программу на русском языке(с английским мне трудно) облазил везде предлогоют в основном обман какойто так может кто знает где скачать или свою даст буду очень благодарен за ранее спасибо
Re: AVR studio 4 в вопросах и ответах
Добавлено: Вт июн 07, 2011 10:54:35
Gudd-Head
Борис+ писал(а):Здравствуйте увахаемые. Я давно хочу освоить AVR но не могу найти программу на русском языке(с английским мне трудно) облазил везде предлогоют в основном обман какойто так может кто знает где скачать или свою даст буду очень благодарен за ранее спасибо
Вы что ли Студию на русском хотите?

Что за бред. Как же вы даташиты и аппноты тогда читать будете, если со студией не можете разобраться?
Re: AVR studio 4 в вопросах и ответах
Добавлено: Вт июн 07, 2011 13:46:41
ANALOG
Re: AVR studio 4 в вопросах и ответах
Добавлено: Вт июн 07, 2011 14:56:27
vitalik_1984
Gudd-Head писал(а):
Борис+ писал(а):Здравствуйте увахаемые. Я давно хочу освоить AVR но не могу найти программу на русском языке(с английским мне трудно) облазил везде предлогоют в основном обман какойто так может кто знает где скачать или свою даст буду очень благодарен за ранее спасибо
Вы что ли Студию на русском хотите?

Что за бред. Как же вы даташиты и аппноты тогда читать будете, если со студией не можете разобраться?
Ха - ха -ха. она даже в пути файлов руский не поддерживает, не то что по русски говорить.
Легче найти российского производителя микроконстроллеров.
Может вот эти ссылки помогут?
переводчик
еще переводчик
тоже нормальный переводчик
Re: AVR studio 4 в вопросах и ответах
Добавлено: Вт июн 07, 2011 17:13:28
Борис+
ну пусть не програму а описание к ней тоже подойдет
Re: AVR studio 4 в вопросах и ответах
Добавлено: Вт июн 07, 2011 17:24:57
Gudd-Head
Борис+ писал(а):ну пусть не програму а описание к ней тоже подойдет
Что там описывать? File, Open, Save, New, Run? Там есть встроенный хэлп.
Re: AVR studio 4 в вопросах и ответах
Добавлено: Вт июн 07, 2011 17:50:46
Meteor
Борис+ писал(а):ну пусть не програму а описание к ней тоже подойдет
Поищите в сети
эту книгу. Достаточна полезна в плане освоения студии
Re: AVR studio 4 в вопросах и ответах
Добавлено: Вт июн 07, 2011 19:23:34
Борис+
книгу нешол но хотелось бы описание для програмы тоже
Re: AVR studio 4 в вопросах и ответах
Добавлено: Вт июн 07, 2011 19:34:10
Meteor
Хоть почитайте что ли.... там же рускким по белому описана работа в студии. Или я чего-то не догоняю?
Re: AVR studio 4 в вопросах и ответах
Добавлено: Вт июн 07, 2011 19:54:39
Борис+
спасибо начал читать
Re: AVR studio 4 в вопросах и ответах
Добавлено: Чт июн 09, 2011 18:30:25
IfoR
У меня тут ещё одна проблемка с макросами. Конкретно - это проклятое целочисленное деление! Как заставить студию в качестве результата 1/2 возвращать 0.5, а не 0?
UPD. А, всё, догадался!

Здесь нужно как в си: указать, что делимое число является дробным, а не целым. Если написать 1.0/2 то возвращается, как и надо, 0.5! Пойду переписывать макросы.

Re: AVR studio 4 в вопросах и ответах
Добавлено: Пт июн 10, 2011 09:33:23
Nipochomus
Здравствуйте!
Подскажите каким образом на языке СИ можно опросить бит порта?
Т.е. if (B.5==1), нужно знать значение только одного бита, на других может быть что угодно.
Объясните пожалуйста на примере, так как в программировании не очень силён.
Re: AVR studio 4 в вопросах и ответах
Добавлено: Пт июн 10, 2011 10:10:30
pyzhman
PINx.n
x - имя порта. A, B, C, D, E, F, G.
n - номер битика в нем.
Re: AVR studio 4 в вопросах и ответах
Добавлено: Пт июн 10, 2011 10:11:57
ibiza11
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 могут быть любыми удобными для использования.
Re: AVR studio 4 в вопросах и ответах
Добавлено: Пт июн 10, 2011 11:08:47
Мастер Ломастер
ibiza11 писал(а):В случае,если нужен просто флаг, а не определенный бит переменной можно воспользоваться битовыми полями
только при этом может увеличиться объем кода, к тому же доступ к битовому полю явно будет
неатомарным даже для однобайтной переменной/структуры. чтобы попытаться избежать этих проблем, можно помещать такое битовое поле в РЕГИСТРОВУЮ переменную (если, конечно, вы умеете это делать
правильно)
Re: AVR studio 4 в вопросах и ответах
Добавлено: Пт июн 10, 2011 11:14:45
ChipKiller
Nipochomus писал(а):Подскажите каким образом на языке СИ можно опросить бит порта?
.. а логические операции кто мешает использовать?
Re: AVR studio 4 в вопросах и ответах
Добавлено: Пт июн 10, 2011 14:28:32
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 и возвращают в исходное состояние по выходу из обработчика.
Re: AVR studio 4 в вопросах и ответах
Добавлено: Ср июн 15, 2011 15:39:22
IfoR
Вот у меня ещё один вопрос. Делить я научился, например, запись 5.0/2 даёт 2.5 . Теперь вопрос: как мне у этого числа взять целую часть? Нужно вот почему. Есть запись, например:
Т.е. в регистр R25 мы загружаем число 2, но на таких местах компилятор выражает своё полное недовольство тем, что число дробное и вообще он будет брать от него только дробную часть.
Вот тут и встаёт оговорённый выше вопрос, ибо стопка таких варнингов, при компиляции, совсем не радует глаз.
Пока придумал только одно решение, пишем такой макрос:
Как видно, не очень элегантно... И всё таки оно не работает.
А есть ли что нибудь ещё?
ADD:
Методом случайного перебора была найдена такая стандартная функция: int()
Млин, ну есть ли где нибудь мануал по этим всем тонкостям?
Re: AVR studio 4 в вопросах и ответах
Добавлено: Ср июн 15, 2011 15:57:15
ibiza11
IfoR писал(а):А есть ли что нибудь ещё?
не понял на каком языке Вы пишете, дефайны у Вас через
# как в Си, а команды ассемблера

попробуйте так:
Re: AVR studio 4 в вопросах и ответах
Добавлено: Ср июн 15, 2011 16:01:41
IfoR
Это сиссемблер - ассемблер с сишным препроцессором.
Да, в принципе, проблема уже решена. Извиняюсь за беспокойство, как всегда.
Ещё там нашёл стандартную функция abs(). Интересно, а есть ли там функция округления числа?
Нашёл гейд по AVR assembler на
www.atmel.com/dyn/resources/prod_documents/AVRASM2.pdf 
. Ппц...
Функции округления нет, но тем не менее её не сложно реализовать: