реклама на сайте
подробности

 
 
> странное поведение else if
Метценгерштейн
сообщение Jan 3 2015, 19:00
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



или торможу после праздников ))

не выполняется первое условие if

Код
        if (signal(Str_1))
    {
          return key_mass[0][0];
    }
        else if (signal(Str_2))
    {
          return key_mass[0][1];
    }

работаю с матричной клавиатурой.
в такой записи в упор не печатает цифру 1- это как раз строка 1- первое условие.

зато так:
Код
       if (signal(Str_0))
    {
          on (LED_Red);
    }
        else if (signal(Str_1))
    {
          return key_mass[0][0];
    }
        else if (signal(Str_2))
    {
          return key_mass[0][1];
    }

печатает и 1 и 4.
тут мы ему подсунули как if нечто ненужное.

Т.е. почему код начинает работать только со второй строки else if?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
psL
сообщение Jan 3 2015, 20:41
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390



можно попробовать что-то типа:

Код
{
    int res=0;

    if (signal(Str_1))
    {
          res=key_mass[0][0];
    }
        else if (signal(Str_2))
    {
          res=key_mass[0][1];
    }

    return res;
}

или даже volatile res
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.0135 секунд с 7
ELECTRONIX ©2004-2016