Jump to content

Дмитрий Мамедиев

Members
  • Posts

    916
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Дмитрий Мамедиев

  1. 1 час назад, Alexeyslav сказал:

    почитайте про порядок выполнения логических операций в С...

    Вот дельный совет, щас почитаю, но вопрос такой, разве последовательные ifки не проходят последовательно проверку на соответствие условий в них? Не знаю на сколько понятен вопрос.

  2. 3 часа назад, Дмитрий Мамедиев сказал:

    На выбранном камне отладка не доступна. Вырезал кусок кода сделал новый проект под атмегу 8. Но отладка пишет не смогла запуститься и далее адрес файла с:\.... Чего ему надо не могу понять

    С этим разобрался

    Нашёл в чем проблема. Отладчик думает что кнопка всегда нажата. 

    if (button) а она описана как 

    #define button (!(pinb&(1<<1)))

    Наверное на время отладки нужно прописать button =0 ?

  3. Я имел ввиду "правильность арфографическая" написания.

    8 минут назад, Alex сказал:

    проверить свой код самостоятельно на работоспособность по обдуманному Вами алгоритму.

    Сначала я продумал алгоритм а потом код. Так что да соответствует. 

     

    10 минут назад, Alex сказал:

    . А сейчас это всё звучит как - вот вам код, ищите косяки и рассказывайте мне о них. А заодно расскажите как работают всякие там операторы ...

    Извините не хотел как то Вас задеть, просто я много ещё не знаю и возможно не корректно задаю вопросы.

  4. 4 минуты назад, Yurkin2015 сказал:

     

    
    speed = 0; // присвоили 0
    start(speed);
    speed = ? // по-прежнему speed равна 0

    потому, что ваши функции не изменяют значения переменной speed.

    Почему? Разве 

    int start (int s)
    {
        for(;s <=400;s ++)
        return s ;
    }

    Не увеличит? 

    10 минут назад, Yurkin2015 сказал:

    Вам бы после изучения оператора цикла for(;;) неплохо бы прочитать про оператор while() :) 

    А чем плох for?

    speed объявлена как глобальная переменная.

  5. Я о том что при включении нагрузки напряжение предположительно просидает, что ведёт к скачку тока, который в свою очередь жжёт реле. Вы напряжение померяйте с нагрузкой.

    И мне ссылку на такие панели плиз 

  6. unsigned char button_long,button_shot;
    int speed;
    if (button_shot && speed==0)//первое короткое
    {
        start(speed );
    }
    if (button_shot)//любое другое короткое
    {
        revers(speed );
    }
    if (button_long)//длинное
    {
        stop(speed );
    }
    int stop (int s)
    {
        for(;s >=0;s --)
        for(;s <=0;s ++)
        return s ;
    }
    int start (int s)
    {
        for(;s <=400;s ++)
        return s ;
    }
    int revers (int s)
    {
        int s_new;
        if(s>0)
        {
            s_new = ~s + 1;
            for(;s >= s_new ; s--)
        }
        if(s<0)
        {
            s_new = ~s + 1;
            for (;s<=s_new; s++)
        }
        return s;
    }

    Есть такой набросок. Вопрос, все ли здесь на ваш профессиональный взгляд работоспособно. И второй вопрос. Цикл for будет выполнен мгновенно, а нужно его замедлить и с задаваемой скоростью. Все что на ум приходит это через таймер. Что то типа этого:

    for(;s<=s_nem;)

    {

        if(flag_timer2) 

        {flag_timer=0;

        s++;}

    }

     

  7. unsigned char button_long,button_shot;
    int speed;
    if (button_shot && speed==0)//первое короткое
    {
        start(speed );
    }
    if (button_shot)//любое другое короткое
    {
        revers(speed );
    }
    if (button_long)//длинное
    {
        stop(speed );
    }
    int stop (int s)
    {
        for(;s >=0;s --)
        for(;s <=0;s ++)
        return s ;
    }
    int start (int s)
    {
        for(;s <=400;s ++)
        return s ;
    }
    int revers (int s)
    {
        int s_new;
        if(s>0)
        {
            s_new = ~s + 1;
            for(;s >= s_new ; s--)
        }
        if(s<0)
        {
            s_new = ~s + 1;
            for (;s<=s_new; s++)
        }
        return s;
    }

    Есть вот такой набросок. Но нужно чтоб в цикле for выполнялось медленно, все что на ум приходит 

    for(;s<=s_new;)

    {

    if(flag_timer2) s++;

    flag_timer2=0;

    }

    Хочу совета 

     

×
×
  • Create New...