Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 31.12.2018, 23:17  
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 409
Сказал спасибо: 17
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Signalshik2 на пути к лучшему
По умолчанию Re: Условие оператора If - непонятка

Я же сразу сказал, чтобы автор не использовал 2-ой код - 2 сдвига нам никак не надо.
1-ый код пусть берет - да и все.
А по поводу производительности: да у него там задержки по 100(мс) - какая пофиг разница из массива читаются данные или сдвигаются. Я против массива в этой ситуации. - Проще сдвинуть.
Реклама:
Signalshik2 вне форума  
Непрочитано 01.01.2019, 02:42  
vladisslav1
Прописка
 
Регистрация: 25.03.2013
Адрес: Глубокое замкадье
Сообщений: 216
Сказал спасибо: 3
Сказали Спасибо 71 раз(а) в 55 сообщении(ях)
vladisslav1 на пути к лучшему
По умолчанию Re: Условие оператора If - непонятка

Еще так можно.
Самый наверное быстрый и компактный вариант...
Код:
uint8_t i;
for (i=0x80; i ; i››=1)
{
DATA_REG=(Temp & i)?1:0;
delay_ms(100);
CLK_REG=1;
delay_ms(100);
CLK_REG=0;
}
Хотя delay_ms меня сильно смущает. Может быть лучше использовать таймер для таких больших задержек.
vladisslav1 вне форума  
Непрочитано 01.01.2019, 19:57  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 596
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: Условие оператора If - непонятка

Сообщение от rexdn Посмотреть сообщение
Не совсем.
Предположим Temp=0b0100 0000, сдвинутая единица, скажем, будет давать число, равное Temp и поразрядное! И двух значений будет равно Temp - т.е. 64, но ни как не 1 или 0.
Как в If в таком случае, выполняется условие? Не доезжает голова моя что то...
ТС путает логическую операцию с логическим сравнением.
Логическое "И" - это байтовая операция и результатом будет байт, а логическое сравнение - это битовая операция и результатом будет бит.

Условие (1‹‹(i-1)) - это сдвиг "1" на число позиций, указанное выражением (j-1). Т.е. это как бы сдвиг указателя (в даном случае "1") на конкретный бит Temp. Потом производится сравнение этого бита в Temp с "1" - только этого конкретного бита, остальные биты Temp во внимание не берутся. В этом суть логической операции сравнения. Результатом этого сравнения будет либо true либо false. Других значений указанный бит не имеет. Вот это значение и попадает в оператор IF.

P.S.
Это условие можно образно назвать "проверкой какого-то конкретного бита в переменной Temp".

Так будет понятно?

Последний раз редактировалось pifa; 01.01.2019 в 20:11.
pifa вне форума  
Непрочитано 01.01.2019, 20:28  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,121
Сказал спасибо: 2,569
Сказали Спасибо 11,944 раз(а) в 5,991 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Условие оператора If - непонятка

pifa, не изобретайте уже изобретенное. "Все украдено до нас"(с)

Сообщение от pifa Посмотреть сообщение
Условие (1‹‹(i-1)) - это
формирование маски, в которой только одна единица в соответствующем разряде.
Сообщение от pifa Посмотреть сообщение
ТС путает логическую операцию с логическим сравнением.
Коряво называете сущности. Есть "поразрядные" операции, результат которых - байт, и есть "логические", результат которых - бит (true или false) или байт, нулевое значение которого соответствует логическому значению "false", а ненулевое - логическому значению "true". И ведь об этом уже говорили! Но Вы не слушаете...
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 01.01.2019, 20:36  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 596
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: Условие оператора If - непонятка

Сообщение от akegor Посмотреть сообщение
pifa, не изобретайте уже изобретенное. "Все украдено до нас"(с)
Да всё это я знаю. Но писал я это не для Вас, а для ТС. А вот ему это не понятно. И я постарался объяснить это ему "на пальцах". Поэтому и получается это "коряво", но надеюсь, будет понятно (ему). А то, что Вы правильно написали постом выше, снова приведет ТС в "ступор".
pifa вне форума  
Непрочитано 01.01.2019, 21:21  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,121
Сказал спасибо: 2,569
Сказали Спасибо 11,944 раз(а) в 5,991 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Условие оператора If - непонятка

pifa, я, может, не совсем корректно написал - извиняйте, ежли чо.
Сообщение от pifa Посмотреть сообщение
ему это непонятно
Ну, тут уж каждый пытается объяснять в силу своего понятия непонятия вопрошающего.
Легче, когда задают вопросы. Конкретные. Так понятней, что непонятно.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Сказали "Спасибо" akegor
mike-y-k (01.01.2019)
Непрочитано 02.01.2019, 00:29  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,069
Сказал спасибо: 3,054
Сказали Спасибо 3,223 раз(а) в 2,188 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Условие оператора If - непонятка

Сообщение от rexdn Посмотреть сообщение
проверено в железе, на ATTiny13.
А ведь можно было и по USI несчастный байт перегнать. Хотя и с overhead'ом, но в железе - больше чем на половину.
__________________
Экзорцист 40-го уровня.
ForcePoint вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятка с моб. номером - это сюда ? Jack_A Отвлекитесь, эмбеддеры! 15 18.10.2018 13:44
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13


Часовой пояс GMT +4, время: 23:12.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot