roboforum.ru

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

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




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Вопросы по Line Tracer
СообщениеДобавлено: 30 мар 2008, 22:17 
Не в сети
Аватара пользователя

Зарегистрирован: 07 авг 2007, 22:42
Сообщения: 217
Откуда: Королев
Я тут собрался делать Line Tracer из статьи Майробота. Есть несколько вопросов: у меня программа для робота содрана с сайта. Я ее скопировал в CVAVR и он выдал мне, что там аж 4 ошибки. Вот какие они:
#include <avr/io.h>
И компилятор CVAVR пишет что здесь ошибка, "Cant open #include file: avr/io.h"
DDRD = 0x00; // все выводы порта D сконфигурировать как входы, пишет: "undefined simbol "DDRD""
ну и еще вот

PORTD = 0xff; // установить "1" на всех выводах порта D, пишет "undefined simbol "PORTD""
И еще:
if (!(PIND & (1<<PIND1))) // проверить "0" на линии 1 порта D, пишет "undefined simbol "PIND""
РОсьба модерам: ПЛЗ НЕ ПЕРЕНОСИТЕ МОЮ ТЕМУ В СООТВЕТСТВУЮЩИЙ РАЗДЕЛ LINE TRACER, ТАМ ТЕМУ НИКТО НЕ ПРОЧТЕТ. :O:
ПОМОГИТЕ ХТО НИБУД :RTFM:

_________________
http://demidz.narod.ru - мой сайт-словарь для начинающих
Я ЧАЙНИК


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 30 мар 2008, 23:35 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
если ругается на #include <avr/io.h>

значит этого файлика нет там где он нужен
короче в папке нету этого файла

поищи поиском файл io.h и положи туда куда надо
либо измени строку #include <avr/io.h> на #include <то место где лежит в реале у тебя этот файлик io.h>

остальные ошибки из за того нет этого хедера

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 30 мар 2008, 23:45 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
это вопрос не про лайн-трейсер а про различия компиляторов.
программа написана для gcc, а ты ее cvavr'у без переделки пихаеш!

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 30 мар 2008, 23:48 
Не в сети
Аватара пользователя

Зарегистрирован: 07 авг 2007, 22:42
Сообщения: 217
Откуда: Королев
А чо за файл такой io.h ? :oops:

Добавлено спустя 1 минуту 38 секунд:
Ну и чо за переделка такая? Никогда не встречал. :oops:

_________________
http://demidz.narod.ru - мой сайт-словарь для начинающих
Я ЧАЙНИК


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 31 мар 2008, 00:01 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 31 мар 2008, 00:07 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
просто установи WinAVR (предвосхищая вопрос: "а где скачать", ответ - спроси у гугла как пройти в библиотеку :) )
далее найди папку include а в ней avr вот там и будет лежать io.h
открой и почитай, там все написано, если понятно не станет повтори изучение языка.

@ Myp если указавать адресс то так
Код:
#include "/full/path/to/file" // полный путь
#include "../file" // относительный путь

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 31 мар 2008, 02:51 
Не в сети
Аватара пользователя

Зарегистрирован: 07 авг 2007, 22:42
Сообщения: 217
Откуда: Королев
Сделал как Мур сказал - 1 ошибка исправлена и осталось ещё 4. Ктонибудь киньте мне WinAVR одним архивом. Адрес : demid-z@yandex.ru
Мне учиться нужно конвертировать а то на Майроботе все помешаны на WinAVR. Ну если кидать никто не собираеться то хотябы напишите, как конвертировать. А то не двигается дело нифига. :(

_________________
http://demidz.narod.ru - мой сайт-словарь для начинающих
Я ЧАЙНИК


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 31 мар 2008, 06:15 
Не в сети
Аватара пользователя

Зарегистрирован: 03 авг 2007, 19:43
Сообщения: 1437
Откуда: Екатеринбург
прог. языки: Си, асм со словарем
нужно в начале программы вставить такую строчку
#include <tiny2313.h>
МК должен соответствать используемому.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 31 мар 2008, 08:21 
Не в сети
Аватара пользователя

Зарегистрирован: 16 окт 2007, 11:57
Сообщения: 349
Откуда: Минycинck
Демаю строку #include <io.h> можно заменить на #include <stdio.h>
Всё должоно работать


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 31 мар 2008, 09:44 
Не в сети
Аватара пользователя

Зарегистрирован: 07 авг 2007, 22:42
Сообщения: 217
Откуда: Королев
rig писал(а):
нужно в начале программы вставить такую строчку
#include <tiny2313.h>
МК должен соответствать используемому.

Да я Мегу 8 юзаю. На счет того файла про который говорил Loid там есть и файл io.h и файл stdio.h . Ладно, приду из школы попробую.

_________________
http://demidz.narod.ru - мой сайт-словарь для начинающих
Я ЧАЙНИК


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 31 мар 2008, 10:50 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
а я чото и не глянул подо что там исходник выложен... :oops:


кстати
ктонить мне объяснит гениальность вот этой строки:
Код:
if (!(PIND & (1<<PIND.1))) // проверить "0" на линии 1 порта D

ато я своим скудным мозгом написал бы
Код:
if PIND.1 == 0 // проверить "0" на линии 1 порта D


Добавлено спустя 8 минут 37 секунд:
далее

открываем ссылку http://myrobot.ru/stepbystep/pr_mcports.php и читаем
Цитата:
Например, команда

PORTD |= 1<<3;

установит "1" (сигнал высокого уровня) на выводе PD3, если вывод сконфигурирован как выход.

Команда

PORTD &= ~(1<<4);

установит "0" (сигнал низкого уровня) на выводе PD4, если вывод сконфигурирован как выход.

В AVR GCC сдвиг можно осуществлять и с помощью функции _BV(), что даже предпочтительней, так как в этом случае компилятор сам выполняет поразрядный сдвиг и вставляет результат в компилируемый код. Это обеспечивает отсутствие затрат времени во время непосредственного выполнения кода в микроконтроллере.

В случае использования функции _BV() две предыдущие команды будут выглядеть следующим образом.

PORTD |= _BV(PD3); // установить "1" на линии 3 порта D

PORTD &= ~_BV(PD4); // установить "0" на линии 4 порта D


тоесть чтоб небыло ошибок нуно переделать без использования функции _BV()

Добавлено спустя 2 минуты 13 секунд:
короче вот что вышло у меня

Код:
#include <mega8.h>

// Declare your global variables here

void main(void)
{



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


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

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

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

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

                  // -----------------------------------------------------
      }
      else
      {
                        // ---- останавливаем левый мотор, включаем правый -----

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

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


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


но я хз правильно или нет потому как не проверял )
но компилитсо в кодевижене :crazy:

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 31 мар 2008, 12:25 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Код:
if (!(PIND & (1<<PIND.1))) // проверить "0" на линии 1 порта D

Меня тоже убивает такая формулировка, но это аргументируют тем что якобы эта строчка понятна любому МК. Хотя кому нужен такой МК который не понимает нормльного языка, тоже вопрос.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 31 мар 2008, 12:37 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
всё равно же компилятор скомпилирует в 100% понятный код для МК
зачем огород городить?...

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 31 мар 2008, 13:24 
Не в сети
Аватара пользователя

Зарегистрирован: 07 авг 2007, 22:42
Сообщения: 217
Откуда: Королев
Пасиба бальшое, через 3 часа вернусь домой и программу в комп загружу. Щас буду компоненты по Инету заказывать пока есть промежуток 45мин между уроками. :)

_________________
http://demidz.narod.ru - мой сайт-словарь для начинающих
Я ЧАЙНИК


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Line Tracer
СообщениеДобавлено: 31 мар 2008, 23:10 
Не в сети
Аватара пользователя

Зарегистрирован: 07 авг 2007, 22:42
Сообщения: 217
Откуда: Королев
У меня WMlab не симулирует почему то и пишет что 192 ошибки. Чо делать?

_________________
http://demidz.narod.ru - мой сайт-словарь для начинающих
Я ЧАЙНИК


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

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


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

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


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

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