#1 2017-06-30 13:16:48

goodspeedmen
Учасник
З https://discord.gg/6hbs98y
Зареєстрований: 2016-10-02
Повідомлень: 81

Логические операции.

TCNT1H = 0x85EE >> 8;
TCNT1L = 0x85EE & 0xff;

Хотелось понять принцип работы подобных конструкций. Первая операция это логический сдвиг в право в регистр  TCNT1H он 8 битный, но TCNT1 регистр имеет разрядность 16 бит и физически состоит из двух 8 битных регистра, TCNT1H (старшая часть 8 - 15 бит) и TCNT1L (младшая часть 0 - 7). Что получается при такой операции? Поскольку регистр 8 разрядный то в него только 0x85 или 0xEE по логике загрузится 0xEE и сдвинутся в права, что приведет к загрузке 0x85 в регистр TCNT1H.
Далее побитовое И между числом 0x85EE и 0xff старшая часть числа в расчет браться не будет, она не помещается, значит будет производиться операция между числами 0xEE и 0xff и результатом операции будит истина, то есть в регистре TCNT1L будет 0xEE. Правильны ли мои рассуждения? hmm

Неактивний

#2 2017-08-01 10:23:27

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Логические операции.

Какая ещё нафиг истина! TCNT1 (через жопу) присваивается магическое число 0x85EE. Обычный быдлокод.

Неактивний

#3 2017-08-01 17:42:10

qwone
Учасник
Зареєстрований: 2016-07-25
Повідомлень: 143

Re: Логические операции.

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

Неактивний

#4 2017-08-01 19:47:49

NoName
Customer
З Київ
Зареєстрований: 2014-07-08
Повідомлень: 1,446

Re: Логические операции.

qwone,  Green
0x85EE = 0b1000010111101110 даташит открыли  - битики проверили, или вы доверяете на все 100% неизвестно кем писаным  дефайнам?  небось HAL юзаете для "ногодрыганья"?  )
не, я тоже согласен что 8 битники это жуткий напряг, но большинство ардуинщиков их юзает, и это не повод обзываться  )

Неактивний

#5 2017-08-01 20:52:15

qwone
Учасник
Зареєстрований: 2016-07-25
Повідомлень: 143

Re: Логические операции.

ну зачем так писать
TCNT1H = 0x85EE >> 8;
TCNT1L = 0x85EE & 0xff;
а не так
TCNT1H = 0x85;
TCNT1L = 0xEE;
или все надежда на компилятор. Он умнее теперешних программеров и все их косяки уберет

Неактивний

#6 2017-08-01 21:52:32

NoName
Customer
З Київ
Зареєстрований: 2014-07-08
Повідомлень: 1,446

Re: Логические операции.

app_error_handler(0xDEADBEEF, line_num, p_file_name);
красавцы ) и как ет мне не приходило в голову, DEAD он и в Африке DEAD. хотя насчет Африки не уверен )

Неактивний

#7 2017-08-03 11:53:43

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Логические операции.

Вячеслав Азаров пише:

TCNT1 = 0x85ee; // и все

Ага, только TCNT1 = DEAD; наверное, всё ж таки, так правильней! Или да?

Остання редакція Green (2017-08-03 11:54:07)

Неактивний

#8 2017-08-03 13:25:16

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Логические операции.

Да ладно!
Мне больше нравится TCNT1 = ETO_PIZDETS;))

Неактивний

#9 2017-08-03 16:03:11

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Логические операции.

И, кстати, что то qwone молчит... Наверняка ведь тут можно прилепить и ООП, с его инкапсуляцией, наследованием и полиформизЬмом. Об абстракции вообще молчу. Я, кстати, обычно пишу не TCNT1, а типа TIMER16. Ибо не только AVR имею ввиду.))

Остання редакція Green (2017-08-03 16:03:34)

Неактивний

#10 2017-08-03 22:19:52

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Логические операции.

Green пише:

И, кстати, что то qwone молчит... Наверняка ведь тут можно прилепить и ООП, с его инкапсуляцией, наследованием и полиформизЬмом. Об абстракции вообще молчу. Я, кстати, обычно пишу не TCNT1, а типа TIMER16. Ибо не только AVR имею ввиду.))

lol

Неактивний

#11 2017-08-03 23:46:44

qwone
Учасник
Зареєстрований: 2016-07-25
Повідомлень: 143

Re: Логические операции.

Green. Слава богу, вы все же узнали много новых слов. Осталось вам поискать, что они означают. А может настанет момент, что нучитесь их применять. Но это скорее фантастика.

Неактивний

#12 2017-08-04 06:42:32

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Логические операции.

smile Сразу пошли наезды, завуалированные оскорбления... А моя мысль в том, что всё хорошо к месту. Всего лишь.

Неактивний

#13 2017-08-04 06:50:44

qwone
Учасник
Зареєстрований: 2016-07-25
Повідомлень: 143

Re: Логические операции.

Green пише:

smile Сразу пошли наезды, завуалированные оскорбления... А моя мысль в том, что всё хорошо к месту. Всего лишь.

А почему вы свою мысль не используете. К чему упоминать меня и все это. Это в этой теме было точно к не месту. Или вы и только вы определяете что к месту, а что к не к месту.

Неактивний

#14 2017-08-04 07:27:42

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Логические операции.

ОК, замяли.
А юмор был по поводу ООП, коим приверженцем Вы являетесь.
Обидеть не хотел. Ей богу! За мир во всём мире. smile

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму