Проблема с примитивной функцией

Именно! Они описаны в даташите, что мы вчера с @MMM тебе час растолковывали. И коли ты всё равно им (даташитом) пользуешься, россказни о том что это «не понятно» и «не удобно» и вообще «не описано нигде» - просто придурь,

1 лайк

Я считаю что магических цифр быть не должно. Что бы видно было с какими ты битами работаешь. А не по каждому выражению раскодировать что же автор имел ввиду!

2 лайка

Продолжаем тему вширь т.е. уходим на ветку “маска vs сдвиги”.

   HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);

Скажите, почему здесь нет никаких 1<<WS_OVERLAPPEDWINDOW и 1<<CW_USEDEFAULT?

Пиши как тебе хочется. Никто же не запрещает.

А завтра ты возьмёшь другой AVR, в котором у TCCR0B будут другие биты 6 и 5? Я образно говорю.

1 лайк

да я то тут причем))
я не так и не так не пишу)

а с виндой порадовал, видимо тоже надо так писать

1 лайк

Правильно, существует вполне адекватное правило: вместо числовых констант следует употреблять символьные константы с осмысленными именами.
Но TOIE1 - ни разу не константа с осмысленным именем. Поэтому в данном случае это правило неприменимо.

Тогда вопрос прежний: каким способом я должен узнать имена констант, “чтобы видно было”?
Я ведь не отказываюсь. Более того, самым первым предложением моего первого поста в этой теме было “Вероятно, я чего-то не понимаю”. Вот я и прошу объяснить мне, откуда мне брать имена этих констант, чтобы всем было хорошо.

А что же это? Переменная? :rofl:

Перечитай мои сообщения №52 и №55. Там вполне конкретные примеры того, что “растолкованный” способ не работает.

да патаму, что в заголовках они так описаны, и вы это прекрасно знаете и понимаете.

а это есть

1 лайк

Конечно. И скомпилировать код для мк ты не сможешь, если компилятор будет под другой мк или вообще под ос. Чушь не пиши.

объявить самому.

1 лайк

Удачи. Мне надоело биться о кирпичную стену. Он даже попытки дверь сделать (Хотя бы закрытую) не хочет. А всё только для того чтобы показать на сколько он прав, а мы не правы.

Еще раз повторю - пиши так как тебе нравится*!!!

Ты что?! Это же лишнее телодвижение!
Куда проще при каждом вопросе лезть в даташит и запускать калькулятор (хотя не исключаю, что он им не пользуется).

счеты?

1 лайк

Нет.
“Слона надо есть по частям”.
Поэтому давай:
“Мухи - отдельно, котлеты - отдельно”.

“цифровые константы vs константы с осмысленными именами” - это один вопрос, а “маска vs сдвиг” - это другой вопрос.
Если мы все начнем мешать в одну кучу, мы никогда эту кучу не разберем.
А мне все-таки очень хочется понять, как без непропорциональных затрат времени и сил узнавать имена нужных констант.
Я вполне серьезно.
Я чувствую, что где-то здесь у меня пробел, и я хочу его ликвидировать. И непринужденно писать эти символьные константы, “чтобы всем было понятно”. Но я не знаю, как это сделать.

МК в среде выбран правильно. Иначе бы и вторая строчка не компилировалась. А она компилируется. Комментируем третью строку и пролучаем:

Скетч использует 13416 байт (20%) памяти устройства. Всего доступно 65536 байт.
Глобальные переменные используют 2064 байт (10%) динамической памяти, оставляя 18416 байт для локальных переменных. Максимум: 20480 байт.

Вот именно.

выхода нет, кто ж виноват, что атмеловцы решили так, а стм-цы по другому?
делайте все сами
или
:hocho:

1 лайк

отож!!!