Именно! Они описаны в даташите, что мы вчера с @MMM тебе час растолковывали. И коли ты всё равно им (даташитом) пользуешься, россказни о том что это «не понятно» и «не удобно» и вообще «не описано нигде» - просто придурь,
Я считаю что магических цифр быть не должно. Что бы видно было с какими ты битами работаешь. А не по каждому выражению раскодировать что же автор имел ввиду!
Продолжаем тему вширь т.е. уходим на ветку “маска 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? Я образно говорю.
да я то тут причем))
я не так и не так не пишу)
а с виндой порадовал, видимо тоже надо так писать
Правильно, существует вполне адекватное правило: вместо числовых констант следует употреблять символьные константы с осмысленными именами.
Но TOIE1 - ни разу не константа с осмысленным именем. Поэтому в данном случае это правило неприменимо.
Тогда вопрос прежний: каким способом я должен узнать имена констант, “чтобы видно было”?
Я ведь не отказываюсь. Более того, самым первым предложением моего первого поста в этой теме было “Вероятно, я чего-то не понимаю”. Вот я и прошу объяснить мне, откуда мне брать имена этих констант, чтобы всем было хорошо.
А что же это? Переменная?
Перечитай мои сообщения №52 и №55. Там вполне конкретные примеры того, что “растолкованный” способ не работает.
Конечно. И скомпилировать код для мк ты не сможешь, если компилятор будет под другой мк или вообще под ос. Чушь не пиши.
объявить самому.
Удачи. Мне надоело биться о кирпичную стену. Он даже попытки дверь сделать (Хотя бы закрытую) не хочет. А всё только для того чтобы показать на сколько он прав, а мы не правы.
Еще раз повторю - пиши так как тебе нравится*!!!
Ты что?! Это же лишнее телодвижение!
Куда проще при каждом вопросе лезть в даташит и запускать калькулятор (хотя не исключаю, что он им не пользуется).
счеты?
Нет.
“Слона надо есть по частям”.
Поэтому давай:
“Мухи - отдельно, котлеты - отдельно”.
“цифровые константы vs константы с осмысленными именами” - это один вопрос, а “маска vs сдвиг” - это другой вопрос.
Если мы все начнем мешать в одну кучу, мы никогда эту кучу не разберем.
А мне все-таки очень хочется понять, как без непропорциональных затрат времени и сил узнавать имена нужных констант.
Я вполне серьезно.
Я чувствую, что где-то здесь у меня пробел, и я хочу его ликвидировать. И непринужденно писать эти символьные константы, “чтобы всем было понятно”. Но я не знаю, как это сделать.
МК в среде выбран правильно. Иначе бы и вторая строчка не компилировалась. А она компилируется. Комментируем третью строку и пролучаем:
Скетч использует 13416 байт (20%) памяти устройства. Всего доступно 65536 байт.
Глобальные переменные используют 2064 байт (10%) динамической памяти, оставляя 18416 байт для локальных переменных. Максимум: 20480 байт.
Вот именно.
выхода нет, кто ж виноват, что атмеловцы решили так, а стм-цы по другому?
делайте все сами
или
отож!!!