Страница 42 из 160

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

Добавлено: Чт ноя 10, 2011 20:56:13
Panda_Y2K
men17 писал(а):Делал программный, 3-х канальный ШИМ на ТИНИ13. Но? оказалось, что надо было под ТИНИ12. Мне всегда хватало Codevision, но не в этом случае... Прочитал в нете что AVR studio может мой код на СИ скомпилировать под ТИНИ12. Начал разбираться, но застрял. Вот скрин с сообщением. Подскажите, что делать дальше?
Весь экран почему то не дает прикрепить :cry: вот окно сообщений.
AVR STUDIO с плагином wnavr может понимать Си, но для ТИНИ12 только асм, си не понимает.

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

Добавлено: Чт ноя 10, 2011 21:39:57
Serhio
Gudd-Head писал(а):
Serhio писал(а):Это на двух таймерах надо делать? :)
Зачем на двух? :)
Думаю, один для ШИМ, второй для организации прерываний

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

Добавлено: Чт ноя 10, 2011 22:10:14
men17
Panda_Y2K писал(а):
men17 писал(а):Делал программный, 3-х канальный ШИМ на ТИНИ13. Но? оказалось, что надо было под ТИНИ12. Мне всегда хватало Codevision, но не в этом случае... Прочитал в нете что AVR studio может мой код на СИ скомпилировать под ТИНИ12. Начал разбираться, но застрял. Вот скрин с сообщением. Подскажите, что делать дальше?
Весь экран почему то не дает прикрепить :cry: вот окно сообщений.
AVR STUDIO с плагином wnavr может понимать Си, но для ТИНИ12 только асм, си не понимает.
:shock: Дискриминация какая-то. Пойду за тини 13 :cry:

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

Добавлено: Чт ноя 10, 2011 23:31:33
Jack_A
Serhio писал(а): Думаю, один для ШИМ, второй для организации прерываний
Можно и на двух. А если обработчик таймера ШИМ не чересчур загружен по времени, то добавить пяток команд в него - и получите задержку.

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

Добавлено: Пт ноя 25, 2011 13:15:27
loshvitalik
Пожалуйста, отдайте кто-нибудь свой m2560def.inc, а то мой куда то потерялся:)

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

Добавлено: Пт ноя 25, 2011 13:18:31
Мастер Ломастер
men17 писал(а):
Panda_Y2K писал(а):AVR STUDIO с плагином wnavr может понимать Си, но для ТИНИ12 только асм, си не понимает.
:shock: Дискриминация какая-то. Пойду за тини 13 :cry:
вообще говоря, в тини12 физически отсутствует ОЗУ, а язык Си как бы ориентирован на активное использование ОЗУ... однако, были виртуозы, которые и для таких безозушных МК умудрялись писать на WinAVR :)))

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

Добавлено: Пт ноя 25, 2011 13:32:29
loshvitalik
Спасибо, файлик уже не не нужен, но есть проблема: недоступен адрес для портов H,J,K,L и не присваиваются им никакие значения.
Что делать?
Скрин: http://gyazo.com/c59193473a66c83d2f74e46bc6f1f0b8.png

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

Добавлено: Пт ноя 25, 2011 13:47:49
Gudd-Head
loshvitalik писал(а):Что делать?
Юзать команды LD и ST. IN и OUT дотуда не достреливают.

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

Добавлено: Пт ноя 25, 2011 13:59:17
loshvitalik
Gudd-Head писал(а):
loshvitalik писал(а):Что делать?
Юзать команды LD и ST. IN и OUT дотуда не достреливают.
А не подскажете как именно? Я только начинаю изучать. По мануалу у меня не получается.
На одном простом примере сможете показать?
То есть вместо ldi temp,0; out ddra,temp как использовать ld и st?

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

Добавлено: Пт ноя 25, 2011 14:12:00
Gudd-Head
loshvitalik писал(а):На одном простом примере сможете показать?
То есть вместо ldi temp,0; out ddra,temp как использовать ld и st?
ldi r31, $01;
ldi r30, $0B;
st Z, temp; — запись в регистр PORTL (адрес $10B) содержимого temp через указатель Z.

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

Добавлено: Пт ноя 25, 2011 14:46:50
loshvitalik
Gudd-Head писал(а):
loshvitalik писал(а):На одном простом примере сможете показать?
То есть вместо ldi temp,0; out ddra,temp как использовать ld и st?
ldi r31, $01;
ldi r30, $0B;
st Z, temp; — запись в регистр PORTL (адрес $10B) содержимого temp через указатель Z.
Спасибо, только почему то в регистры записывается только 0...
ldi Temp,0xFF; Все порты на выход
ldi r30,$01; DDRH
st Z, Temp; Вывод 1 в DDRH
Почему?

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

Добавлено: Пт ноя 25, 2011 14:54:44
Gudd-Head
loshvitalik писал(а):ldi Temp,0xFF; Все порты на выход
ldi r30,$01; DDRH
st Z, Temp; Вывод 1 в DDRH
Почему?
А $01 засунуть в R30??? :wink: У DDRH ведь адрес $101. А вообще, по АСМу есть отдельная тема: http://radiokot.ru/forum/viewtopic.php?f=20&t=5931

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

Добавлено: Пт дек 02, 2011 14:21:29
ВитГо
Вопрос строго про AVR Studio

Решил использовать библиотеку операций с 32ух битными числами
там есть такой код

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

.def	dv32u0	 =r16	; divisor byte 0 (LSB)
.def	dv32u1	 =r17	; divisor byte 1
.def	dv32u2	 =r18	; divisor byte 2
.def	dv32u3	 =r19	; divisor byte 3 (MSB)
.def	dres32u0 =r20	; result byte 0 (LSB)
.def	dres32u1 =r21	; result byte 1
.def	dres32u2 =r22	; result byte 2
ну в общем понятно - назначение регистрам символических имен..

так почему AVR Studio у меня ругается ? :
warning: Registr r16 already definited by the .DEF directive
и так на все регистры которым назначаем символические имена

в чем проблема то ?
в документации нашел следующее:
DEF - Назначить регистру символическое имя

Директива DEF позволяет ссылаться на регистр через некоторое символическое имя. Назначенное имя может использоваться во всей нижеследующей части программы для обращений к данному регистру. Регистр может иметь несколько различных имен. Символическое имя может быть переназначено позднее в программе.

Синтаксис:
.DEF Символическое_имя = Регистр

Пример:
.DEF temp=R16
.DEF ior=R0

.CSEG
═ldi temp,0xf0═ ; Загрузить 0xf0 в регистр temp (R16)
═in ior,0x3f═ ; Прочитать SREG в регистр ior (R0)
═eor temp,ior═ ; Регистры temp и ior складываются по исключающему или
что не так ?
кстати вообще никакие регистры не переопределял в программе.. это первое переопределение (и то из за того что не хочу переписывать стороннюю библиотеку)

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

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

Добавлено: Пт дек 02, 2011 14:24:13
Gudd-Head
ВитГо писал(а):так почему AVR Studio у меня ругается:
warning: Registr r16 already definited by the .DEF directive
и так на все регистры которые переименовываем
Значит, они (эти регистры) где-то ещё обозваны.

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

Добавлено: Пт дек 02, 2011 14:38:40
ВитГо
Gudd-Head писал(а):
ВитГо писал(а):так почему AVR Studio у меня ругается:
warning: Registr r16 already definited by the .DEF directive
и так на все регистры которые переименовываем
Значит, они (эти регистры) где-то ещё обозваны.
Я так и не нашел где !!! в m16def.inc этого тоже нет !
в моей программе тоже нет !!

да и опять таки - в доке написано что позже можно переопределить.. так если переопределены- то в чем проблема ??! переопределим еще раз.... ?

кто нить на практике применял то что я описал ?

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

Добавлено: Пт дек 02, 2011 14:43:22
Gudd-Head
ВитГо писал(а):Я так и не нашел где !!! в m16def.inc этого тоже нет !
в моей программе тоже нет !!
Как вариант, глюк Студии. Перезапускать пробовали? Какая у вас версия?

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

Добавлено: Пт дек 02, 2011 14:57:15
pyzhman
У меня версия 4.13. Попробовал вариант с двойным определением. Предупреждение. Попробовал вариант с однократным определением. Варнинга нет. Что-то в библиотеке значит еще сидит. А вообще - это же просто варнинг, учесть при осмыслении программы и не пихать разное в одно и то же одновременно. Или надо чтоб вылизано все было и сверкало?

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

Добавлено: Пт дек 02, 2011 15:00:06
Gudd-Head
pyzh_man писал(а):У меня версия 4.13
4.18. На двойное определение вообще не реагирует :shock:

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

Добавлено: Пт дек 02, 2011 15:01:26
ВитГо
Gudd-Head писал(а):
ВитГо писал(а):Я так и не нашел где !!! в m16def.inc этого тоже нет !
в моей программе тоже нет !!
Как вариант, глюк Студии. Перезапускать пробовали? Какая у вас версия?
Попробовал
4.19

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

Добавлено: Пт дек 02, 2011 15:03:26
ВитГо
pyzh_man писал(а):У меня версия 4.13. Попробовал вариант с двойным определением. Предупреждение. Попробовал вариант с однократным определением. Варнинга нет. Что-то в библиотеке значит еще сидит. А вообще - это же просто варнинг, учесть при осмыслении программы и не пихать разное в одно и то же одновременно. Или надо чтоб вылизано все было и сверкало?
да как сказать.. проект можно сказать на середине.
да и должно быть вылизано.. как показывает моя практика - если есть варнинги - то обычно возникают и глюки - причем эти глюки зачастую очень тяжко искать.. (например то же выравнивание до слова - в коде вроде все ОК.. а на деле белеберда)