CoIDE проверка бита

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
lyaksandrov
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн окт 12, 2020 14:14:50

CoIDE проверка бита

Сообщение lyaksandrov »

Всем привет, работаю в CoIDE и у меня возник вопрос. Как узнать что в 7 бите регистра IDR блока GPIOD установлен 0. Код как проверить стоит ли там 1 я знаю он выглядет так if(GPIOD->IDR&(1<<7){условие}, но не знаю как проверить на 0. Догадваюсь что можно использовать исключающее или, но сейчас нет возможности проверить это, может кто подсказать прав ли я?
Реклама
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: CoIDE проверка бита

Сообщение VladislavS »

Не прав.
Последний раз редактировалось VladislavS Вс янв 17, 2021 18:23:33, всего редактировалось 2 раза.
Реклама
lyaksandrov
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн окт 12, 2020 14:14:50

Re: CoIDE проверка бита

Сообщение lyaksandrov »

Так и думал :( , а вы не сможете подсказать тогда как можно проверить?
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: CoIDE проверка бита

Сообщение VladislavS »

Подсказка. А если там НЕ 1, то что?
Реклама
Эиком - электронные компоненты и радиодетали
lyaksandrov
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн окт 12, 2020 14:14:50

Re: CoIDE проверка бита

Сообщение lyaksandrov »

Дело в том, что нужно конктретно на 0 проверить. А понимаю если там не 1 то там 0, но проверка идет имеено на 1, а не на 0.
Реклама
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: CoIDE проверка бита

Сообщение VladislavS »

Если проверка на 1 не сработала, то что осталось? :)
Реклама
lyaksandrov
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн окт 12, 2020 14:14:50

Re: CoIDE проверка бита

Сообщение lyaksandrov »

Остался 0 конечно, но повторюсь, что проверка идет на 1, а мне нужно именно на 0 проверку сделать. Вот такой преподаватель оказался категоричный)

Добавлено after 1 minute 25 seconds:
А понимаю, что это звучит глупо, но ничего поделать с этим не могу) Нужно именно проверку на 0)
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: CoIDE проверка бита

Сообщение VladislavS »

Я даже не знаю как ещё слово "НЕ" выделить.
lyaksandrov
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн окт 12, 2020 14:14:50

Re: CoIDE проверка бита

Сообщение lyaksandrov »

А если так напишу будет правильно?
if((GPIOD->IDR&(1«7))==0)
{
условие
}
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: CoIDE проверка бита

Сообщение Zhuk72 »

Правильно.
Либо, как выше VladislavS намекал, if((GPIOD->IDR & (1 « 7)) != 1)
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Re: CoIDE проверка бита

Сообщение NStorm »

А еще есть конструкция if(!(GPIOD->IDR & (1 « 7)). А вообще вам бы, ТС базовый курс по Си почитать что-ли. Это ж самые азы. И CoIDE тут не причем.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: CoIDE проверка бита

Сообщение VladislavS »

[uquote="Zhuk72",url="/forum/viewtopic.php?p=3961866#p3961866"]Либо, как выше VladislavS намекал, if((GPIOD->IDR & (1 « 7)) != 1)[/uquote]Ну это же неправильно!
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: CoIDE проверка бита

Сообщение Zhuk72 »

Почему? Если бит не равен 1, значит он равен 0. Третьего не дано.
Понятно, что так обычно не пишут, сравнивая с интересующим значением, но тем не менее логика же верна.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Re: CoIDE проверка бита

Сообщение NStorm »

Zhuk72, а до знака думаете стоит бит? Подумайте еще, посмотрите на выражение в скобках. Какие оно может принимать значения? Подсказка: 0 и 1 - неправильный вариант. Подсказка 2: if(x) при каких значениях x сработает?
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: CoIDE проверка бита

Сообщение Zhuk72 »

Я уже понял, потому и вернулся, чтобы сообщить об этом :)

Добавлено after 1 minute 42 seconds:
Результат будет либо 0, либо 0х80.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Ответить

Вернуться в «Разные вопросы по МК»