Страница 11 из 111

Добавлено: Вт окт 28, 2008 10:22:12
tych
редактор SlickEdit тоже хвалаят

Вот статья что к чему и зачем
http://megajohn.embedders.org/articles/?id=slickedit

вот скачать
http://telesys.ru/wwwboards/mcontrol/21 ... 7481.shtml

Изображение

Добавлено: Ср окт 29, 2008 10:38:34
Anatrulij
Помогите!!!!!! в некоторых источника прочитал, что WinAVR автоматически интегрируется с программной средой AVR Studio. А у меня такой интеграции не происходит. Почему??????

Добавлено: Ср окт 29, 2008 10:45:30
Anatrulij
Может я что-то не правельно делаю? версия авр студии 4.11, а WinAVR-20080610

Добавлено: Ср окт 29, 2008 11:44:09
tych
Anatrulij писал(а): авр студии 4.11
наверно 4.12 нужна, свежая у меня на стр 4 в домашней страничке - там и настройка с WinAVR

Добавлено: Ср окт 29, 2008 20:33:50
ARV
Anatrulij писал(а):Может я что-то не правельно делаю? версия авр студии 4.11, а WinAVR-20080610
а как вы делаете?
если сначала установлена AVR Studio, а потом инсталлируется WinAVR, то после завершения инсталляции оказывается, что AVR Studio "знает" о языке Си и предлагает его для проектов. Так было для 4.12 однозначно (меньшую версию я просто не юзал), так сохраняется и до самой свежей 4.14.

Думаю, что при инсталляции "наоборот" может и не получиться...

Добавлено: Ср окт 29, 2008 20:47:57
Anatrulij
ARV писал(а): Думаю, что при инсталляции "наоборот" может и не получиться...
Нет, дело все таки в версии AVR Studio. у меня была 4.11. мне дали 4.14. я старую снёс, установил новую и .... о чудо - все работает!!!! :)

Добавлено: Чт окт 30, 2008 16:09:13
VitBank
У меня стоят самые последнии версии и того и другого. Но проблема вот в чем.
Я создаю проект и выбираю в качестве компилятора CCG, в настройках проекта автоматом прописывается путь к файлам WinAVR. Пишу работоспособный код а мне пишут мол отсутствует файл *.ELF. Что не так?

Добавлено: Чт окт 30, 2008 20:53:15
ARV
может быть, вы все-таки покажете хотя бы скриншоты своих настроек проекта?

воспользовавшись навыками телепата скажу, что наиболее странные сообшения об ошибках могут возникать, если папки с обрабатываемыми WinAVR файлами имеют русские буквы и/или пробелы в своих именах.

Добавлено: Пт окт 31, 2008 12:18:57
VitBank
Вот и скриншоты. Там видны как настройки так и ошибка.

Добавлено: Пт ноя 14, 2008 22:08:24
DeltaQ
Я писал код на Си в CodeVisioAVR.
Решил причесать код дабы оптимизировать и сделать это в AVR Studio 4 (4.14). Но почему-то при сборке ругается на подключенную библиотеку #include <tiny2313> (и напрямую указывал #include <iotn2313>) соответственно все переменные описанные в этой библиотеке она не понимает.

пишет:
error: iotn2313.h: No such file or directory

Добавлено: Пт ноя 14, 2008 22:15:43
Anatrulij
DeltaQ писал(а):Я писал код на Си в CodeVisioAVR.
Решил причесать код дабы оптимизировать и сделать это в AVR Studio 4 (4.14). Но почему-то при сборке ругается на подключенную библиотеку #include <tiny2313> (и напрямую указывал #include <iotn2313>) соответственно все переменные описанные в этой библиотеке она не понимает.

пишет:
error: iotn2313.h: No such file or directory
Напиши
#include <avr>

Добавлено: Пт ноя 14, 2008 22:17:01
ARV
вонючий движок форума режет символы :( поэтому я вам не могу помочь - хотя решение элементарно. выше другой товарищ тоже пытался это донести - и с тем же успехом... если хотите - обратитесь ко мне на форум - там отвечу, как положено... тут бороться с траблами движка уже надоело...

Добавлено: Пт ноя 14, 2008 22:24:20
DeltaQ
Та же фигня.... :cry:
Вот гляньте скриншот
Просто такое ощущение что я где то че-то не прописал в проекте.

Добавлено: Пт ноя 14, 2008 22:37:52
ARV
да повторяю же вам - не <avr> надо писать, а avr-косая_черта-io.h - ну не виноват я, что тут кривой движок форума :(

Добавлено: Пт ноя 14, 2008 22:49:35
DeltaQ
ARV писал(а):да повторяю же вам - не <avr> надо писать, а avr-косая_черта-io.h - ну не виноват я, что тут кривой движок форума :(
Ааа... я тоже что-то не сразу понял :) спасибо большое... заработало.
Но похоже придется переписывать код ибо Си немного отличаются :(

Добавлено: Пт ноя 14, 2008 22:52:35
ARV
самое серьезное отличие в том, что нет побитового обращения к портам (PORTB.3 недопустимо). ну, битовых переменных тоже нет. В остальном за небольшим исключением все одинаково...

Добавлено: Пт ноя 14, 2008 22:56:46
DeltaQ
ARV писал(а):самое серьезное отличие в том, что нет побитового обращения к портам (PORTB.3 недопустимо). ну, битовых переменных тоже нет. В остальном за небольшим исключением все одинаково...
ну побитовое обращение лечится тем что я смотрю имя бита порта в инклуд файле и просто подставляю значение. Придется чутка руками поработать.
а вот ассемблерные вставки? она на #asm("nop") ругается :(

Добавлено: Пт ноя 14, 2008 22:59:31
ARV
а не надо решетку лепить... только огорчу вас - WinAVR при включенной оптимизации повыкидывает ваши нопы нафиг - и не спросит, как зовут... придется вам писать volatile asm("nop")... а еще лучше - подумать хорошенько, и обойтись без глупостей (без нопов и ассемблерных вставок). почти всегда это возможно.

Добавлено: Пт ноя 14, 2008 23:06:02
DeltaQ
ARV писал(а):а не надо решетку лепить... только огорчу вас - WinAVR при включенной оптимизации повыкидывает ваши нопы нафиг - и не спросит, как зовут... придется вам писать volatile asm("nop")... а еще лучше - подумать хорошенько, и обойтись без глупостей (без нопов и ассемблерных вставок). почти всегда это возможно.
Вставки были нужны для того чтобы формировать импульсы для более медленного АЦП ибо если я пульну в АЦП импульс без задержки он может просто не уловить его :( т.к. у АЦП ограничение по тактированию сигнала не более 3МГц

за совет спасибо... придется подумать

Добавлено: Пт ноя 14, 2008 23:09:41
ARV
если вы "пульнете" так:

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

PORTB |= (1<<PB2);
PORTB &= ~(1<<PB2);
то у вас и так между двумя этими "пулями" будет минимум 2 такта паузы - не забывайте, что оператор Си - это далеко не всегда единственный оператор ассемблера :) ну а если это слишком маленькая задержка, то подключите в инклюдах util/delay.h и напишите так:

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

PORTB |= (1<<PB2);
_delay_us(5); // 5 мкс паузы 
PORTB &= ~(1<<PB2);