Форум myROBOT.ru » Роботы и робототехника » Обо всем » сервоприводы

Страниц (4): « 1 [2] 3 4 »
 

16. -dead- - 05 Августа, 2011 - 10:46:14 - перейти к сообщению
Надо примеры. А в целом - я думаю он программу пользователя просто заворачивает в свой код, не указывая явно эту обертку в коде скетча.
17. nestandart - 05 Августа, 2011 - 11:45:38 - перейти к сообщению
А вы попробуйте программу "простого робота" скомпилировать.
18. -dead- - 05 Августа, 2011 - 12:22:55 - перейти к сообщению
Какую? Дайте прямую ссылку.
19. nest - 05 Августа, 2011 - 12:25:05 - перейти к сообщению
CODE:
/**********************************************************
ПРИМЕР 5 :: РОБОТ ДЛЯ СОРЕВНОВАНИЙ КЕГЕЛЬРИНГ :: MYROBOT.RU
***********************************************************/

#define F_CPU 1000000UL // указываем частоту в герцах

#include <avr/io.h>
#include <util/delay.h>

int main(void) // начало основной программы
{

DDRC = 0xff; // все выводы порта C сконфигурировать как выходы
DDRD = 0x00; // все выводы порта D сконфигурировать как входы


PORTD = 0xff; // установить "1" на всех выводах порта D,
// включаем подтягивающие резисторы

while (1) { // Бесконечный цикл

// ПРОВЕРЯЕМ СИГНАЛ НИЗКОГО УРОНЯ ОТ ФОТОДАТЧИКА

if (!(PIND & (1<<PIND1))) // проверить "0" на линии 1 порта D
{
// -------------- включаем моторы вперед ---------------

PORTC |= _BV(PC1); // установить "1" на линии 1 порта C
PORTC &= ~_BV(PC2); // установить "0" на линии 2 порта C
PORTC |= _BV(PC3); // установить "1" на линии 3 порта C
PORTC &= ~_BV(PC4); // установить "0" на линии 4 порта C

// -----------------------------------------------------
}
else
{
// ------------------ отъезд назад ------------------
// -------- включаем моторы назад на 1,8 сек --------

PORTC &= ~_BV(PC1); // установить "0" на линии 1 порта C
PORTC |= _BV(PC2); // установить "1" на линии 2 порта C
PORTC &= ~_BV(PC3); // установить "0" на линии 3 порта C
PORTC |= _BV(PC4); // установить "1" на линии 4 порта C

_delay_ms(1800); // ждем 1,8 сек.

// --------------------------------------------------

// --------------------- поворот --------------------
// правый мотор вперед, левый мотор стоп на 0,6 сек

PORTC |= _BV(PC1); // установить "1" на линии 1 порта C
PORTC &= ~_BV(PC2); // установить "0" на линии 2 порта C
PORTC |= _BV(PC3); // установить "1" на линии 3 порта C

_delay_ms(600); // ждем 0,6 сек.

// --------------------------------------------------
}


} // закрывающая скобка бесконечного цикла

} // закрывающая скобка основной программы
20. nestandart - 05 Августа, 2011 - 15:36:14 - перейти к сообщению
dead , ну и как ?
Получилось ?
21. -dead- - 05 Августа, 2011 - 15:52:40 - перейти к сообщению
Дома уже гляну Улыбка у меня в офисе Arduino IDE нету Замешательство
22. cjA - 05 Августа, 2011 - 16:39:22 - перейти к сообщению

Помираю со смеху Ну начались отмазы
23. nestandart - 05 Августа, 2011 - 16:49:47 - перейти к сообщению
Цитата:
Дома уже гляну

Да я уже давно "глянул".
Не будет он компилиться (никак).
В программе ардуино обязательно должны присутствовать две функции : setup и loop.
IDE распознает только операторы и типы данных , больше ничего.
24. cjA - 05 Августа, 2011 - 16:54:24 - перейти к сообщению
-dead-
скачал я ардуино ... (да , да , это отмаза что под рукой его нет, пяти минут не прошло)

ну вот ада-авр - тоже использует гсс для компиляции хекс файла, но ... где Ада и где Си?

короч в ардуино и вправду свой язык, возможно очень простой, не сложнее Си, но...
Но другой. И если я уж как ортодокс кодевижен за Си не считаю, то ардуино- точно не Си.

(Добавление)
и что то говорит что его можно и другими средствами прошивать, раз avrdude они с собой тащат
25. strelok - 05 Августа, 2011 - 17:43:02 - перейти к сообщению
правда некоторые функции можно использовать например функцию поворота (задать угол вращения) в книге посмотрел и правда в прге Arduino есть те функции которые можно использовать но еще пока не пробовал
26. -dead- - 05 Августа, 2011 - 18:23:57 - перейти к сообщению
Я может чего-то непонимаю, но у меня Arduino IDE выдал на эту программу не что иное как:
Цитата:
Done Compiling.

Binary sketch size: 240 bytes (of a 14336 byte maximum)


Board указана стандартная "Diecimila" на ATmega168.
(Добавление)
nestandart пишет:
Не будет он компилиться (никак).

Скажите, как пробовали компилировать? А то некоторые и в WinAVR не могут его собрать Улыбка
27. nestandart - 05 Августа, 2011 - 18:43:11 - перейти к сообщению
dead , сделайте скрин .У меня IDE022 компилить не хочет.
Ни х... себе ! На 168 действительно компилит!
Просто у меня все МК 328 , а для них он компилить не хочет.
28. -dead- - 05 Августа, 2011 - 18:47:02 - перейти к сообщению
Скрин мало что докажет Улыбка

Лучше вы скиньте, что у вас за ошибки IDE выдаёт.

Я могу собрать один скетч, а потом вставить в редактор другой код.
29. cjA - 05 Августа, 2011 - 19:14:24 - перейти к сообщению
пишет что PC1 не найден в этом скопище
'PC1' was not declared in this scope
30. -dead- - 05 Августа, 2011 - 19:24:34 - перейти к сообщению
Ну я бы не сказал, что PC1 это стандартный элемент языка Си Замешательство
Явно вопрос в неподключенных библиотеках - может МК не тот указан или еще что...