roboforum.ru

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

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

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

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().
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

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

Сообщение vitok8 » 08 янв 2009, 22:46

Устанавливаю WinAVR-20081205,выбираю язык(русский),а он после установки не меняется.В ЧЕМ ДЕЛО?
vitok8
 
Сообщения: 1
Зарегистрирован: 11 дек 2008, 19:34

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

Сообщение Сергей » 08 янв 2009, 23:07

А что должно быть по-русски? О_о
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

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

Сообщение =DeaD= » 08 янв 2009, 23:16

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

Кто "он" и куда он должен был меняться по вашему? :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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

Сообщение MiBBiM » 09 янв 2009, 01:05

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

язык меняется только для инсталлятора.
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

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г.
Flint
 
Сообщения: 23
Зарегистрирован: 05 янв 2009, 01:48
прог. языки: Си

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

Сообщение avr123.nm.ru » 18 мар 2009, 08:29

нужен исходник и тип мк.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

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

Сообщение Flint » 19 мар 2009, 14:42

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

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

Сообщение blindman » 19 мар 2009, 14:59

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

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

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
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

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

Сообщение Flint » 19 мар 2009, 21:33

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

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

Сообщение avr123.nm.ru » 19 мар 2009, 23:12

На http://avr123.nm.ru/04.htm все правильно написано. Я там не советовал пути прописывать. Читайте внимательно.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

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
Что это за конструкция-то?? где же сама функция?? :( фигня какаято.
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

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

Сообщение Сергей » 28 мар 2009, 19:17

Учи Си! WinAVR тут не при чем
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

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
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16