roboforum.ru

Технический форум по робототехнике.
Текущее время: 02 дек 2024, 18:23

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




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 20 ноя 2009, 21:55 
Не в сети
Аватара пользователя

Зарегистрирован: 26 июн 2008, 11:37
Сообщения: 50
Откуда: Рига
Skype: smouk-nemo
прог. языки: С
ФИО: Даниил Биндюков
Есть у меня программа, точнне исходник, роде все ОК, закомпелировать не могу... :RTFM: Вот тот исходник:
Код:
Chip type           : ATmega8
Program type        : Application
Clock frequency     : 8,000000 MHz
Memory model        : Small
External RAM size   : 0
Data Stack size     : 256
*****************************************************/

#include <mega8.h>
#include <stdlib.h>
#include <math.h>
#include <delay.h>
float red, green, blue;                     //now colors
unsigned int tred, tgreen, tblue;            //tagert colors
float delta_red, delta_green, delta_blue;       //величина прибавки за шаг
unsigned int time;                          //длительность шага


void generate_tagert_color(void)
{
      tred = rand();
      tgreen = rand();
      tblue = rand();
      tred = tred & 0xFF;          //to max 255
      tgreen = tgreen & 0xFF;
      tblue = tblue & 0xFF;
};

void delay(unsigned int delayt)               //задержка delay_ms() на вход принимает только константу(
{
  while (delayt != 0)
  {
    delay_ms(1);
    delayt--;
  };
};

void main(void)
{

unsigned int temp1, temp2, temp3, temp4;

// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=In
// State7=T State6=T State5=T State4=T State3=0 State2=0 State1=0 State0=T
PORTB=0x00;
DDRB=0x0E;

// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 8000,000 kHz
// Mode: Fast PWM top=00FFh
// OC1A output: Non-Inv.
// OC1B output: Non-Inv.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0xA1;
TCCR1B=0x09;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 8000,000 kHz
// Mode: Fast PWM top=FFh
// OC2 output: Non-Inverted PWM
ASSR=0x00;
TCCR2=0x69;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

srand(1);             //инициализируем рандомайзер этим значением


while (1)
      {
           
       do
       {
        generate_tagert_color();
        temp1 = (abs(tred - tgreen));
        temp2 = (abs(tred - tblue));
        temp3 = (abs(tgreen - tblue));
       }
       while (( temp1 < 150 ) && (temp2 < 150) && (temp3 < 150));  //если все цвета будут примерно равные то будет белый что не интересно
     
       if (rand() < 13100)                                         //c вероятностью 0,4 (32767) вышибаем один цвет
       {
         do
         {
            temp4 = rand() & 0x000F ;
         }
        while ((temp4 == 0) || (temp4 > 3));
       
        if (temp4 == 1)                                            //не повезло красному
        {                                                          //гасим до 0 - 20% от исходного
          do
           {
             temp4 = rand() & 0x0FFF;
           }
          while ((temp4 == 0) || (temp4 > 3276));
         
          tred = ceil ((float) (temp4 / 32767) * tred);
        };
       
        if (temp4 == 2)
        {
          do
           {
             temp4 = rand() & 0x0FFF;
           }
          while ((temp4 == 0) || (temp4 > 3276));
         
          tgreen = ceil ((float) (temp4 / 32767) * tgreen);
        };
       
        if (temp4 == 3)
        {
          do
           {
             temp4 = rand() & 0x0FFF;
           }
          while ((temp4 == 0) || (temp4 > 3276));
         
          tblue = ceil ((float) (temp4 / 32767) * tblue);
        };
       
       }
       

                                                   //значение прибавки. доходим до нужного цвета за 255 шагов
       delta_red = (float) (tred - red) / 255;
       delta_green = (float) (tgreen - green) / 255;
       delta_blue = (float) (tblue - blue) / 255;
     
       
       do
        {
          temp4 = rand() & 0x00FF;
        }
       while ((temp4 < 50) || (temp4 > 100));                       //скокрость перехода случайна от 5 до 10с
     
       time = ceil( ((float) temp4 / 255) * 100);                    //задержка должна быть целой
       
           
       do
       {
        if (tred != ceil(red))
         red = red + delta_red;
        if (tgreen != ceil(green))
         green = green + delta_green;
        if (tblue != ceil(blue))
         blue = blue + delta_blue;
       
        OCR1A = ceil(blue);
        OCR1B = ceil(green);
        OCR2 = ceil(red);
     
        delay(time);
       }
       while ((tred != ceil(red)) || (tgreen != ceil(green)) || (tblue != ceil(blue)));
       
       delay(time * 255);                                    //стремились к этому цвету, задержим его
       
     
      };     
}

_________________
:)Роботы идут:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 20 ноя 2009, 22:00 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
И в чем проблема?

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 20 ноя 2009, 22:05 
Не в сети
Аватара пользователя

Зарегистрирован: 26 июн 2008, 11:37
Сообщения: 50
Откуда: Рига
Skype: smouk-nemo
прог. языки: С
ФИО: Даниил Биндюков
Не получается скомпелировать!!!

_________________
:)Роботы идут:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 20 ноя 2009, 22:07 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Напиши какие ошибки выдает компилятор

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 20 ноя 2009, 22:09 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Лучше ИМХО проект прицепить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 20 ноя 2009, 23:15 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
точки с запятой убрать после объявления функций delay, generate_target_color

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 20 ноя 2009, 23:18 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Вообще они вроде не являются ошибками...

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 20 ноя 2009, 23:19 
Не в сети
Аватара пользователя

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

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 23 ноя 2009, 21:57 
Не в сети
Аватара пользователя

Зарегистрирован: 26 июн 2008, 11:37
Сообщения: 50
Откуда: Рига
Skype: smouk-nemo
прог. языки: С
ФИО: Даниил Биндюков
Я вообще не очень то хорошо разбираюсь в програмировании. У меня есть исходник програмы, я его в CodeVisionAVR скомпелировал (Make Projekt), перед тем как исправил все ошибки. А Hex фаила нету ..... : O


Вложения:
z1-projekt.jpg
z1-projekt.jpg [ 301.26 КиБ | Просмотров: 1315 ]

_________________
:)Роботы идут:)


Последний раз редактировалось Nemo 23 ноя 2009, 22:01, всего редактировалось 1 раз.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 23 ноя 2009, 22:00 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
а project->compile не пробовал?

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 23 ноя 2009, 22:14 
Не в сети
Аватара пользователя

Зарегистрирован: 26 июн 2008, 11:37
Сообщения: 50
Откуда: Рига
Skype: smouk-nemo
прог. языки: С
ФИО: Даниил Биндюков
Делаю так -> опен -z1.prj- Make the projekt... и не чего не получилось

_________________
:)Роботы идут:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 23 ноя 2009, 22:29 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
У меня в CVAVR есть меню Project и есть 3 подпункта его: Compile, Build, Build All.
Compile - это компиляция проекта - проверка на ошибки
Build, Build All - делают исполняемы код, то есть hex - файл - они то тебе и нужны
Build All - сначала очищают все файлы, созданные при компиляции, и делают их заново


Вложения:
3.PNG
3.PNG [ 69.33 КиБ | Просмотров: 1305 ]

_________________
if(!Operate) Read(pDatasheet);
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 23 ноя 2009, 23:56 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Nemo
1. Капс из темы убрать, нарушение правил.
2. Выложи архив проекта, найти ошибку будет намного проще, чем скриншоты сотреть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 24 ноя 2009, 14:09 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2007, 19:23
Сообщения: 1058
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК
Гы. А может хекс-файл бросается в какую-нибудь специальную папочку, не являющуюся папочкой в которой проект храниться? Посмотрите Project-Configure-Output Directories

_________________
I live My life!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПРОБЛЕМЫ С ПРОГРАММОЙ
СообщениеДобавлено: 25 ноя 2009, 13:44 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
В новом CVAvr (v2.0 и выше) по-умолчанию в папку exe и кидается hex файл

_________________
if(!Operate) Read(pDatasheet);


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

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


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

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


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

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