Перейти к содержанию
    

Как прочитать состояние пина в STM32?

Приоритет у >> выше. 0B1 - наверное, идиотический дефайн для 0x1.

Не надо так писать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 минут назад, aaarrr сказал:

Приоритет у >> выше. 0B1 - наверное, идиотический дефайн для 0x1.

Ну 0B1 и не скомпилится, если по стандарту Си. Но в каких-то тулзах (типа старо-убогих CodeVisionAVR) Си имеет псевдорасширения, там можно писать 0b1.

А я, например, пишу B0 (для 1 << 0). Задефайнил себе их от 0 до 64, вроде удобно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Arlleex сказал:

А я, например, пишу B0 (для 1 << 0). Задефайнил себе их от 0 до 64, вроде удобно.

Наверное всё-таки до 63  :smile:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

IAR 8.40.1, можно и так, без макросов) Где-то несколько раз использовал в проектах, если к месту, то удобно)

image.png.311bf0d6c1716b25a342f54582f76768.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 часов назад, jcxz сказал:

Наверное всё-таки до 63

Да, описка.
 

5 часов назад, haker_fox сказал:

IAR 8.40.1, можно и так, без макросов) Где-то несколько раз использовал в проектах, если к месту, то удобно)

При желании можно родными силами препроцессора обойтись и писать на родном Си на любом компиляторе.

А еще, вроде, есть всякие уже стандартные заголовочники, плюс в C++ bitset-ы. Но, ИМХО, как и выше было сказано - всего этого лучше избегать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 minutes ago, Arlleex said:

Но, ИМХО, как и выше было сказано - всего этого лучше избегать.

Дело вкуса:blum: Мне ещё нравится, что IAR теперь поддерживает разделение групп чисел. Мне кажется, что тоже удобно

auto qqq = 2'000'000;

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 минут назад, haker_fox сказал:

Мне ещё нравится, что IAR теперь поддерживает

Вообще-то, это стандарт языка. Было бы странно, если бы IAR его не поддерживал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 минут назад, haker_fox сказал:

Мне ещё нравится, что IAR теперь поддерживает разделение групп чисел...

Не только IAR, а все, что поддерживает C++14:smile:

Цитата

Мне кажется, что тоже удобно

Наверное, правда у себя все равно пишу по старинке.

Лично я жду, когда поддержку C++21 впилят в кейл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 минут назад, Arlleex сказал:

Лично я жду, когда поддержку C++21 впилят в кейл.

Никогда. Есть стандарт С++20 и следующий будет, скорее всего, С++23. 

10 часов назад, cfif сказал:

if(0B1 & GPIOB_BASE -> IDR >> 10)

Автор зачем-то пытается помочь компилятору. Это плохая практика.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 минут назад, VladislavS сказал:

Есть стандарт С++20 и следующий будет, скорее всего, С++23. 

Ну пусть 23. Хоть 133, мне нужна нормальная назначенная инициализация, как это было в Си.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

21 minutes ago, VladislavS said:

Вообще-то, это стандарт языка. Было бы странно, если бы IAR его не поддерживал.

Совершенно верно. Но я не зря написал версию IAR. Например, IAR 7.50 эти нововведения не поддерживает. А IAR 8.40 не поддерживает, насколько я помню, полностью все прелести Си++ 17...

22 minutes ago, Arlleex said:

Не только IAR, а все, что поддерживает C++14:smile:

Убедили))) Я-то думал, что это такой IAR уникальный и няшный)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, haker_fox сказал:

А IAR 8.40 не поддерживает

Если что, крайний IAR ARM на сегодня 9.30 и С++17 поддерживает полностью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, VladislavS said:

Если что, крайний IAR ARM на сегодня 9.30 и С++17 поддерживает полностью.

Да, совершенно верно. Но у нас почти все проекты на IAR 8.40 и IAR 7.50 за почти десяток лет. И переводить старые проекты на новый IAR 9.30 никто не рискует по принципу: работает, не трогай. А ставить IAR 9.30 для новых проектов считает нерентабельно. По крайней мере пока.

P.S. В своих личных проектах я использую как правило самый свежий компилятор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, haker_fox сказал:

А ставить IAR 9.30 для новых проектов считает нерентабельно.

Учитывая вашу локацию и сложившуюся геополитическую ситуацию, слово "нерентабельно" вызывает диссонанс. 🙂

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...