roboforum.ru

Технический форум по робототехнике.

WinAVR - бесплатный и мощный компилятор Си и Си++

Re: WinAVR Help me

Сергей » 24 дек 2008, 13:39

Ругаеца потомучто ты в качестве параметра задаешь const char * а не char *. И в функцию лучше передавать указатель типа такого
Код: Выделить всёРазвернуть
char my_message[] = "Hello, world!";

MyFunction( my_message );
//...
// где сама функция объявляеца вот так

void MyFunction( char *buffer )
{
    if( !buffer )
         return;
///...
}


Добавлено спустя 1 минуту 51 секунду:
Чтобы в функцию можно было просто передавать const char * типа
Код: Выделить всёРазвернуть
MyFunction( "Hello, world!" );

Нужно внутри этой функции выделить память под эту строку, и с этой памятью работать( ну указатель получишь на память ).
А потом незабыть почистить за собой методом стандартным free().

Re: WinAVR - бесплатный и мощный компилятор Си и Си++

vitok8 » 08 янв 2009, 22:46

Устанавливаю WinAVR-20081205,выбираю язык(русский),а он после установки не меняется.В ЧЕМ ДЕЛО?

Re: WinAVR - бесплатный и мощный компилятор Си и Си++

Сергей » 08 янв 2009, 23:07

А что должно быть по-русски? О_о

Re: WinAVR - бесплатный и мощный компилятор Си и Си++

=DeaD= » 08 янв 2009, 23:16

vitok8 писал(а):а он после установки не меняется.

Кто "он" и куда он должен был меняться по вашему? :)

Re: WinAVR - бесплатный и мощный компилятор Си и Си++

MiBBiM » 09 янв 2009, 01:05

vitok8 писал(а):выбираю язык(русский),а он после установки не меняется.В ЧЕМ ДЕЛО?

язык меняется только для инсталлятора.

Re: WinAVR - бесплатный и мощный компилятор Си и Си++

Flint » 18 мар 2009, 02:15

Возникла проблема с компиляцией. Утилитой make из WinAVR на основе родного шаблона сделал макефайл для компиляции. Но при компиляции сразу же появляется некая ошибка: makefile:441: *** target pattern contains no `%'. Stop
При это при клике на нее указывается в каком месте Makefile'а возникает загвоздка:

# Change the build target to build a HEX file or a library.
build: elf hex eep lss sym
#build: lib

elf: $(TARGET).elf
hex: $(TARGET).hex
eep: $(TARGET).eep
lss: $(TARGET).lss
sym: $(TARGET).sym
LIBNAME=lib$(TARGET).a
lib: $(LIBNAME)

Вот здесь в начале строки "lib: $(LIBNAME)" останавливается курсор. Погуглив, понял, что это не редкая ошибка и возникает довольно часто, но вот решения не нашел. Исходник всего лишь из одного .с файла. Настройки редактора и создание Makefile делалось точно как в "Курсе". Я так понял, что эта секция говорит, что конкретно надо генерировать. Но что-то у него не складывается с последними двумя строчками. WinAVR установлена по короткому пути e:\avr\WinAVR. Версия - точно не помню (сейчас с др. компьютера пишу), но какая-то последняя декабрьская от 2008г.

Re: WinAVR - бесплатный и мощный компилятор Си и Си++

avr123.nm.ru » 18 мар 2009, 08:29

нужен исходник и тип мк.

Re: WinAVR - бесплатный и мощный компилятор Си и Си++

Flint » 19 мар 2009, 14:42

Приложил. Всместе с makefile, что создан по шаблону. Проц - атмега16. Уже не помню только - сам код работоспособен или нет, может я в нем что менял и не подправил, поэтому там возможны ошибки, но вроде бы не в этом деле. Сообщение что я приводил выше сразу появляется.
Вложения
project.zip
(9.11 КиБ) Скачиваний: 21

Re: WinAVR - бесплатный и мощный компилятор Си и Си++

blindman » 19 мар 2009, 14:59

Нафига тебе этот монстрообразный Makefile? Вот простой Makefile, которого достаточно в большинстве случаев
Вложения
Makefile.zip
(921 байт) Скачиваний: 70

Re: WinAVR - бесплатный и мощный компилятор Си и Си++

avr123.nm.ru » 19 мар 2009, 15:22

Flint писал(а):Приложил. Всместе с makefile, что создан по шаблону. Проц - атмега16.


Как сделать makefile в WinAVR написано на - http://avr123.nm.ru/04.htm
Я сделал новый makefile - всё работает в WinAVR 2009
В прицепе проект весь.
Вложения
winavr.rar
(9.88 КиБ) Скачиваний: 45

Re: WinAVR - бесплатный и мощный компилятор Си и Си++

Flint » 19 мар 2009, 21:33

Ничего не пойму :shock: Что, в майкфайле достаточно иметь только заполненное поле TARGET с именем файла проекта и без расширения? Значит, как написано здесь avr123.nm.ru/04.htm не правильно? Т.е. не указывать исходник в пункте "C/C++ source file(s)...", а только указать его в "Main file name" в утилите? Причем только имя, без полного пути? Тогда да, все компилиться.

Re: WinAVR - бесплатный и мощный компилятор Си и Си++

avr123.nm.ru » 19 мар 2009, 23:12

На http://avr123.nm.ru/04.htm все правильно написано. Я там не советовал пути прописывать. Читайте внимательно.

Re: WinAVR - бесплатный и мощный компилятор Си и Си++

executer » 28 мар 2009, 18:46

весь день пытаюсь просимулировать код (http://www.superkranz.de/christian/S65_ ... tware.html) написаный для WinAVR в VMLAB/ Почему все так сложно и не очевидно? Проект с трудом создал.
1) Как задать главный файл? (есть файлы "simple.c" "lcd.asm" "disp.c" "disp.h" "lcd.h" "makefile.mak" - в WinAVR компилится, а вот как можно с этим кодом из VMLAB работать??? :( )
2) Почему он не подтягивает файлы в Include указанные, и как следствие, ругается на все прописаные там функции??
3) Посмотрел курс АВР - там только все готовое, а как с нуля сделать - не понятно :(
4) CVAVR и WinAVR - это какието совсем разные компиляторы? С первым проблем нету...

Добавлено спустя 38 минут 46 секунд:
#ifndef LCD_ASM

void mswait(uint16_t ms);

void lcd_init(void); // LCD initialise
...
#endif
Что это за конструкция-то?? где же сама функция?? :( фигня какаято.

Re: WinAVR - бесплатный и мощный компилятор Си и Си++

Сергей » 28 мар 2009, 19:17

Учи Си! WinAVR тут не при чем

Re: WinAVR - бесплатный и мощный компилятор Си и Си++

avr123.nm.ru » 28 мар 2009, 19:19

executer писал(а):3) Посмотрел курс АВР - там только все готовое, а как с нуля сделать - не понятно :(

Дак надо же читать ! а не смотреть :D
http://avr123.nm.ru/z3.htm упражнение 3 - "Настройка проекта VMLAB для симуляции AVR"

executer писал(а):4) CVAVR и WinAVR - это какието совсем разные компиляторы? С первым проблем нету...

CVAVR очень удобен для начала. Но и WinAVR приручается. Как работать в WinAVR из VMLAB описано на странице курса о компиляторах и симуляторах для AVR
http://avr123.nm.ru/04.htm

используйте проекты готовые из примеров VMLAB для WinAVR - C:\VMLAB\WinAVRdemo
и подставляйте туда свои исходники.

Есть еще и универсальный шаблон с настроеными проектами для разных компиялторов и симуляторов
viewtopic.php?f=2&t=1070

Добавлено спустя 1 минуту 50 секунд:
Сергей писал(а):Учи Си!


А я советую примеры самого WinAVR посмотреть и ИЗУЧИТЬ ! в папке
C:\WinAVR\doc\avr-libc\examples


Rambler\'s Top100 Mail.ru counter