roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 14:27

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 266 ]  На страницу Пред.  1 ... 10, 11, 12, 13, 14, 15, 16 ... 18  След.
Автор Сообщение
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 13 мар 2010, 00:07 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Мигание светодиодом для CVAVR Проверил, работает.
Код:
#include <mega8.h>
#include <delay.h>
void main(void)

  DDRB=0b00000001;
  while(1)
    {
       PORTB.0=1;   
       delay_ms(500);
       PORTB.0=0;   
       delay_ms(500);       
    }
}

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 13 мар 2010, 00:08 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
2GrayHunter: Не работает - может пишет чего? Может вы WinAVR не поставили для AVR Studio, или тип проекта указали asm, а не gcc.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 13 мар 2010, 01:03 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
Вот блин! а я и не посмотрел, что си уже вовсю... написал ШИМ на асм, ну походу опоздал...

_________________
_________
Sincerely,
Vovan


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 13 мар 2010, 11:20 
Не в сети

Зарегистрирован: 06 июн 2009, 20:42
Сообщения: 231
Откуда: Москва
Всё ровно выкладывай - вдруг пригодится.
Кстати, читал в каком-то из учебников, что в Си можно Асм вставлять - неужели прям целые/большие коды?

P.S.- спасибо за примеры с миганием, сегодня вечером засяду конвертировать Асм в Си (сейчас ухожу в подмосковные пещеры - Сьяны) :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 13 мар 2010, 22:07 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
Пожалуй я пока воздержусь код выкладывать, вдруг своим вмешательством всё испорчу...
Кроме того, т.к. сам являюсь начинающим и изучающим си - не перестаю удивляться - насколько здесь (в си) всё выровнено (если можно так выразиться)...

_________________
_________
Sincerely,
Vovan


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 14 мар 2010, 18:26 
Не в сети

Зарегистрирован: 06 июн 2009, 20:42
Сообщения: 231
Откуда: Москва
Пытаюсь скомпилировать в Студии (AVRStudio) этот код:
Код:
#include <C:\WinAVR\mega8.h>
#include <C:\WinAVR\delay.h>
void main(void)

  DDRB=0b00000001;
  while(1)
    {
       PORTB.0=1;   
       delay_ms(500);
       PORTB.0=0;   
       delay_ms(500);       
    }
}

Файлы mega8.h и delay.h взяты от проги CodeVisionAVR C Compiler.
Не работает, пишет вот что:
Цитата:
Build started 14.3.2010 at 17:36:08
avr-gcc -mmcu=atmega8 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT 2.o -MF dep/2.o.d -c ../2.c
In file included from ../2.c:1:
C:\WinAVR\mega8.h:9: warning: ignoring #pragma used
C:\WinAVR\mega8.h:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'TWBR'
C:\WinAVR\mega8.h:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'TWSR'
C:\WinAVR\mega8.h:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'TWAR'
...
C:\WinAVR\mega8.h:77: warning: ignoring #pragma used
In file included from ../2.c:1:
C:\WinAVR\mega8.h:106:2: error: invalid preprocessing directive #asm
C:\WinAVR\mega8.h:109: error: expected identifier or '(' before '.' token
C:\WinAVR\mega8.h:118:2: error: invalid preprocessing directive #endasm
In file included from ../2.c:2:
C:\WinAVR\delay.h:7: warning: ignoring #pragma used
C:\WinAVR\delay.h:12: warning: ignoring #pragma used
../2.c:3: warning: return type of 'main' is not 'int'
../2.c: In function 'main':
../2.c:5: error: 'DDRB' undeclared (first use in this function)
../2.c:5: error: (Each undeclared identifier is reported only once
../2.c:5: error: for each function it appears in.)
../2.c:8: error: 'PORTB' undeclared (first use in this function)
../2.c:8: error: expected ';' before numeric constant
../2.c:10: error: expected ';' before numeric constant
make: *** [2.o] Error 1
Build failed with 76 errors and 5 warnings...


Что я неправильно делаю?

P.S.- последнюю WinAVR поставил до компиляции и перезагрузился. Проект вроде С (AVR GCC).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 14 мар 2010, 18:54 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Ну ты уж определись в чём писАть будешь :)
Потому как в CVAVR подключается файл так: #include <mega8.h>
а в AVRStudio так: #include "mega8.h"
Чувствуешь разницу? :wink:

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 14 мар 2010, 19:23 
Не в сети

Зарегистрирован: 06 июн 2009, 20:42
Сообщения: 231
Откуда: Москва
Я бы предпочёл писать в Студии.

Сделал так:
Код:
#include "mega8.h"
#include "delay.h"

Не работает - пишет:
Цитата:
../2.c:1:19: error: mega8.h: No such file or directory
../2.c:2:19: error: delay.h: No such file or directory
...


Сделал так:
Код:
#include "C:\WinAVR\mega8.h"
#include "C:\WinAVR\delay.h"

Не работает - пишет:
Цитата:
avr-gcc -mmcu=atmega8 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT 2.o -MF dep/2.o.d -c ../2.c
In file included from ../2.c:1:
C:\WinAVR\mega8.h:9: warning: ignoring #pragma used
C:\WinAVR\mega8.h:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'TWBR'
C:\WinAVR\mega8.h:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'TWSR'
...
C:\WinAVR\mega8.h:77: warning: ignoring #pragma used
In file included from ../2.c:1:
C:\WinAVR\mega8.h:106:2: error: invalid preprocessing directive #asm
C:\WinAVR\mega8.h:109: error: expected identifier or '(' before '.' token
C:\WinAVR\mega8.h:118:2: error: invalid preprocessing directive #endasm
In file included from ../2.c:2:
C:\WinAVR\delay.h:7: warning: ignoring #pragma used
C:\WinAVR\delay.h:12: warning: ignoring #pragma used
../2.c:3: warning: return type of 'main' is not 'int'
../2.c: In function 'main':
../2.c:5: error: 'DDRB' undeclared (first use in this function)
../2.c:5: error: (Each undeclared identifier is reported only once
../2.c:5: error: for each function it appears in.)
../2.c:8: error: 'PORTB' undeclared (first use in this function)
../2.c:8: error: expected ';' before numeric constant
../2.c:10: error: expected ';' before numeric constant
make: *** [2.o] Error 1
Build failed with 76 errors and 5 warnings...


Значит проблема не в этом... тогда в чём?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 14 мар 2010, 19:25 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Попробуйте снести нафиг всё и заново поставить AVR Studio и потом WinAVR

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 14 мар 2010, 19:30 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
вот отчасти за что я не люблю Си ) вместо того чтобы думать о коде, думаешь как юзать либы и как ставить компилятор, как собирать проект... программист уже не кодит, а конструкторы собирает...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 14 мар 2010, 19:32 
Не в сети

Зарегистрирован: 06 июн 2009, 20:42
Сообщения: 231
Откуда: Москва
Мне кажется эта проблема не решится "пинанием колёс и протиранием стёкл", мне кажется, что проблема с заголовочным файлом... я взял файл из другой проги, а ведь в Студии должен быть свой, для Си, так? где тогда его искать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 14 мар 2010, 19:40 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
блин а я думал об этом, ессно свои инклуды у винАВР

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 14 мар 2010, 20:17 
Не в сети

Зарегистрирован: 06 июн 2009, 20:42
Сообщения: 231
Откуда: Москва
Цитата:
блин а я думал об этом, ессно свои инклуды у винАВР

Цитата:
где тогда его искать?
:pardon:

Добавлено спустя 23 минуты 36 секунд:
Пожалуйста,
выложите код, который можно скомпилить в Студии.

Либо, что менее желательно, чем первое, расскажите точную последовательность действий, чтобы скомпилить код в CodeVisionAVR C Compiler.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 14 мар 2010, 21:03 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
GrayHunter писал(а):
расскажите точную последовательность действий, чтобы скомпилить код в CodeVisionAVR C Compiler.

Открываешь CodeVisionAVR.
С помощью генератора начального кода создаёшь проект.
Копируешь код который я выкладывал выше в файл с расширением с.
Нажимаешь Shift+F9.
Получаешь HEX файл.
Пользуешься :)

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Магический кристалл
СообщениеДобавлено: 15 мар 2010, 02:01 
Не в сети

Зарегистрирован: 06 июн 2009, 20:42
Сообщения: 231
Откуда: Москва
Спасибо, разобрался. :)

Пара вопросов:
1) как в Си сделать подпрограмму (т.е. чтобы несколько функций было вместе) и вызывать её там, где нужно?
2) как на Си сделать "дыхание" светодиода?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 266 ]  На страницу Пред.  1 ... 10, 11, 12, 13, 14, 15, 16 ... 18  След.

Часовой пояс: UTC + 4 часа


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

Сейчас этот форум просматривают: Google [Bot] и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO