roboforum.ru

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

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




Начать новую тему Ответить на тему  [ Сообщений: 144 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10  След.
Автор Сообщение
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 25 авг 2011, 19:46 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
приоритет операции НЕ выше приоритета ИЛИ, сравните
Код:
DDRB&=~(1<<DDB6)|(1<<DDB5);
DDRB&=~(((1<<DDB6)|(1<<DDB5)));

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 10 окт 2011, 09:27 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2011, 11:27
Сообщения: 317
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр
Почему этот код скомпелированный в авр студии, в железе работает отлично. А с кодевиженом какая-то еруда, сервы не встают в центр? У кодевижена своя математика :shock: ? Неохото в авр стидию переходить...
Код:
{
static char current_servo=1;
static unsigned int pause = 18432;
static unsigned int OCR33;
        if (current_servo == 9)
        {
         current_servo = 0;
         OCR33 += pause;
         OCR3C=OCR33;
         pause = 18432;
        }
        else
        {
         OCR33+=servo_position[current_servo];
         OCR3C=OCR33;
         pause -= servo_position[current_servo];
         current_servo++;
        }

   TCCR3C|=(1<<FOC3C);

}     

_________________
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 10 окт 2011, 14:39 
Не в сети

Зарегистрирован: 24 дек 2008, 17:55
Сообщения: 203
Откуда: Актюбинск
при компиляции выводит "Evaluation version code size limit exceeded!", это типа е компилируется, с free version? а есть ссылки на кряканный CVAVR? я смотрел тут, все выводят "not find".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 10 окт 2011, 18:20 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2011, 11:27
Сообщения: 317
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр
http://letitbit.net/download/14689.1b88fb9461ddc4400b915b45c8ec/CodeVisionAVR205+Crack.rar.html

_________________
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 17 окт 2011, 20:57 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2011, 11:27
Сообщения: 317
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр
Если мк тактируется от кварца в "конфигурации проекта" Cvavr надо какие то настройки менять?


Вложения:
12.jpg
12.jpg [ 62.32 КиБ | Просмотров: 5008 ]

_________________
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 11 ноя 2011, 13:41 
Не в сети

Зарегистрирован: 24 дек 2008, 17:55
Сообщения: 203
Откуда: Актюбинск
Здравствуйте.
у меня вот с CVAVR возникли проблемы.
написал программу что б Серво по градусам крутить
вот код
Код:
void servo_grad(int grad){
    int i=0;                                //180 = 2300
    unsigned int time;                      //0 = 500
    unsigned int time_s = 0;                //grad = 1 * 10 +500
    unsigned int time_u = 0;
    time = grad*10+500;
    time_s = 20000 - time;
    if(time_s%1000 > 0 ){
        time_u = time_s%1000;
        time_s = time_s/1000;
    }else{
        time_s = time_s/1000;
        time_u = 0;
    }
    for(i = 0; i<100; i++){
            PORTC.0 = 1;
            delay_us(time);
            PORTC.0 = 0;
            delay_ms(time_s);
            delay_us(time_u);
    }
}

вот здесь
Код:
delay_us(time*1);
и здесь
Код:
delay_us(time_u);
ошибку выдает: Error: C:\Users\NI\Desktop\cvavr_proj\SERVO_test1\a.c(37): constant integral expression required

в чем проблема? если некое число поставить, то нормально, но мне надо в зависимости от градуса крутить ее


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 13 ноя 2011, 14:17 
Не в сети

Зарегистрирован: 24 дек 2008, 17:55
Сообщения: 203
Откуда: Актюбинск
а как можно еще управлять сервой?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 13 ноя 2011, 14:47 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2011, 11:27
Сообщения: 317
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр
Таймеромhttp://roboforum.ru/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D0%B5%D1%80%D0%B2%D0%B0%D0%BC%D0%B8_%D1%81_%D0%9C%D0%9A

_________________
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 19 ноя 2011, 14:36 
Не в сети

Зарегистрирован: 24 дек 2008, 17:55
Сообщения: 203
Откуда: Актюбинск
извините, еще такой вопрос, как вывести значение float?
Код:
float = c;
int k = 1;
c = (float)k*0.33;
printf("%f \r\n\0", c);
k++; 
delay_ms(2000);

у меня на терминале выводит 2f и все, хотя с меняется.

Добавлено спустя 2 часа 34 минуты 34 секунды:
Korbofos писал(а):

а как установить? не получается, все же как некоммерческий работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 04 апр 2012, 18:54 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2011, 11:27
Сообщения: 317
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр
Подскажите красиво ли переходить в прерывании в функцию
Код:
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
emergency_stop_count++;
if(emergency_stop_count>30)
  {
  motors_off();
  }
}

void motors_off (void)
{
TCCR1A=0x00;
TCCR1B=0x00;
PORTB&=~((1<<PORTB6)|(1<<PORTB7));
PORTC&=~((1<<PORTC7)|(1<<PORTC6));
DDRB&=~((1<<DDB6)|(1<<DDB5));       
DDRC&=~((1<<DDC7)|(1<<DDC6));
TCCR2=0x00;
TIMSK&=~(1<<TOIE2);
}


Или лучше содержимое функции motors_off переместить в само прерывание?

_________________
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 05 апр 2012, 10:45 
Не в сети

Зарегистрирован: 27 авг 2008, 10:45
Сообщения: 1981
Откуда: Харьков
прог. языки: С/С++
Красиво. Но долго :) Если в прерывании нет вызовов функций - компилятор сохраняет в стеке только те регистры, которые реально используются. А вот если есть - то все, которые по соглашению о вызовах функций могут портиться внутри функции. А их там больше десятка вроде. Поэтому лучше в прерываниях пользоваться макросами или inline-функциями.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 07 июн 2013, 09:57 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2011, 11:27
Сообщения: 317
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр
Подскажите почему CV приемлет Булеву переменную только так
Код:
_Bool
,а так
Код:
bool
выдаёт ошибку :shock:

_________________
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 07 июн 2013, 11:26 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2009, 13:37
Сообщения: 750
Откуда: Porto Franco "Odessa"
#define bool _Bool

_________________
die Wahrheit ist irgendwo da draußen


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 07 июн 2013, 13:22 
Не в сети

Зарегистрирован: 04 май 2013, 10:35
Сообщения: 203
Откуда: Тюмень
Korbofos, если речь идёт о типе переменной, такого типа в стандарте Си нет, вот они и, видимо, решили добавить этот тип, но "с оговоркой"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 24 июн 2013, 02:44 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2011, 11:27
Сообщения: 317
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр
Ещё небольшой вопрос. Что будет если в основном цикле изменяем значение переменной или регистра, и в этот момент попытаемся изменить значение этой переменной в прерывании?

_________________
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.


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

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


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

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


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

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