Например TDA7294

Форум РадиоКот • Просмотр темы - CodeVisionAVR ругается на команду - sw_delay_ms(500);
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб мар 14, 2026 18:32:39

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: CodeVisionAVR ругается на команду - sw_delay_ms(500);
СообщениеДобавлено: Чт янв 10, 2013 08:16:55 
Встал на лапы

Зарегистрирован: Чт ноя 24, 2011 12:39:13
Сообщений: 114
Рейтинг сообщения: 0
Кто сможет подсказать в чем ошибка? Что делаю не так?! При отладки программы CodeVisionAVR ругается вот на эту команду - sw_delay_ms(500);

Код:
#include <mega8.h>

void bipolar_init(void)
{
    DDRB |= 0x0F;
    PORTB &= 0xF0;
}
 
//
// Передвижение биполярного шагового двигателя полушагами
//
void bipolar_halfstep(signed char dir,
    unsigned short num_steps, unsigned char speed)
{
    unsigned short i;
    unsigned char pattern, state1 = 0, state2 = 1;
 
    // Утверждение направления +- 1
    dir = ((dir < 0) ? -1 : +1);
 
    // Осуществление полушагов
    for (i = 0; i < num_steps; i++)
    {       
        state1 += dir;
        state2 += dir;
 
        // Создание шаблона
        pattern = (1 << ((state1 % 8) >> 1)) |
                  (1 << ((state2 % 8) >> 1));
 
        // Обозначение выхода
        PORTB = (PORTB & 0xF0) | (pattern & 0x0F);
 
      // Создание паузы для ожидания выполнения шага
        sw_delay_ms(500);
    }
 
    // Остановка двигателя
   PORTB &= 0xF0;
}


Вернуться наверх
 
 Заголовок сообщения: Re: Почему ругаемся? В чем ошибка?
СообщениеДобавлено: Чт янв 10, 2013 08:34:32 
Говорящий с текстолитом
Аватар пользователя

Карма: 11
Рейтинг сообщений: 143
Зарегистрирован: Пт дек 28, 2012 21:56:46
Сообщений: 1518
Откуда: St. Petersburg
Рейтинг сообщения: 0
А что это за функция? Юзайте sw_delay().

И delay.h тоже нужно бы заинклудить.

_________________
Изображение only pure true norwegian blackx Изображение


Вернуться наверх
 
 Заголовок сообщения: Re: Почему ругаемся? В чем ошибка?
СообщениеДобавлено: Чт янв 10, 2013 09:02:56 
Встал на лапы

Зарегистрирован: Чт ноя 24, 2011 12:39:13
Сообщений: 114
Рейтинг сообщения: 0
Ой горе моей голове! Запутался напрочь! Давайте вместе попробуем разобраться! Вот ссылка на сайт где описана программа управления шаговым двигателем - http://home.roboticlab.eu/ru/examples/motor/stepper. Но скопировав ее в CodevisionAVR у меня ничего не получается, не проходит отладка!


Вернуться наверх
 
 Заголовок сообщения: Re: Почему ругаемся? В чем ошибка?
СообщениеДобавлено: Чт янв 10, 2013 10:26:03 
Говорящий с текстолитом
Аватар пользователя

Карма: 15
Рейтинг сообщений: 48
Зарегистрирован: Ср июн 30, 2010 18:54:47
Сообщений: 1562
Откуда: NO14MU
Рейтинг сообщения: 0
не, в CVAVR есть delay_ms и delay_us
только #include <delay.h> надо прикошачить

_________________
Изображение
Изображение
Изображение
Сам себе Гилмор


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: CodeVisionAVR ругается на команду - sw_delay_ms(500);
СообщениеДобавлено: Вс мар 03, 2013 20:10:50 
Открыл глаза

Зарегистрирован: Чт мар 22, 2012 09:14:18
Сообщений: 51
Откуда: Липецк
Рейтинг сообщения: 0
Для нормальной работы этого кода необходимо делать задержку вида:
Код:
void MyPause(int ms)
{
   while(ms--)
      { _delay_ms(1); }
}

иначе компилятор (AVR Studio) может ругаться на _delay_ms, из-за неопределенности передачи в нее.
Ребят, а что означает такая запись
Код:
(1 << ((state % 8) >> 1)
?
Как я понял число делится на 8 и получаем остаток. Если число больше 8, то получаем число больше 0. Затем делится на 2 (сдвигается бит влево), потом наоборот. Честно сказать запись непонятна.
Может есть способ по другому написать для непонятливых:)?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

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


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y