0
Как вам конструкция типа (USART_RXEN_bm|USART_TXEN_bm)?

Мне норм, самое то. :)

Такие имена очень облегчают жизнь при использовании IDE с автодополнением. Вместо того, чтобы помнить точные имена всех битов, можно просто набрать, скажем, «USART_» и ждать, что предложит автодополнение. Ну а дальше выбрать подходящий вариант и нажать Enter. :)

У STM32 еще круче — название бита включает имя регистра, для которого он релевантен. Это еще удобнее — не даст записать не то не туда. А соблазн есть, потому что названия некоторых битов ох как похожи…
  • avatar
  • _YS_
  • 13 июня 2017, 19:47
+1
Воу-воу-воу, сколько экспрессии! :) Я даже с трудом вспомнил пароль и авторизовался тут, чтобы расставить плюсы-минусы и написать этот комментарий. :D

Так-то я тоже адепт MISRA и периодически воинствующий противник кубических ардуин. :) Давайте глубоко вдохнем, выдохнем и пойдем дальше рисовать схемы и писать код, оставив некоторых наших коллег за изготовлением мультивибратора из STM32F4. Все равно заказчик, намучившись с такими решениями, в итоге придет к нам. ;)
  • avatar
  • _YS_
  • 29 апреля 2017, 14:43
0
Офигеть. Я вот изобрел примерно то же самое. :) Только сейчас увидел эту статью. :)

В моем варианте настройка выглядит как-то так:


    GPIOC->MODER=PIN_OUT(LED1_PC) | PIN_OUT(LED2_PC) | PIN_OUT(LED3_PC) | PIN_AF(WIFI_UART_RX_PC) | PIN_AF(UART_TX_PC);
    GPIOC->OTYPER=0;
    GPIOC->OSPEEDR=PIN_LSPEED(LED1_PC) | PIN_LSPEED(LED2_PC) | PIN_LSPEED(LED3_PC) | PIN_HSPEED(UART_TX_PC);
    GPIOC->PUPDR=0;
    GPIOC->ODR=0;
    GPIOC->AFR[1]=AF_AFR1(7,WIFI_UART_TX_PC);

    ...

    GPIOC->ODR|=PIN_MASK(LED1_PC);


Соответственно, макросы определены как-то так:


#define PIN_OUT(pin_no)          (1<<(2*(pin_no)))
#define PIN_AF(pin_no)           (2<<(2*(pin_no)))
#define PIN_ANALOG(pin_no)       (3<<(2*(pin_no)))

#define PIN_MASK(pin_no)         (1<<(pin_no))


Ну и так далее. LEDn_Px и прочее определено цифирками, соответствующими номерам пинов. В конце добавляю _Px, просто чтобы не забыть, на каком порту соответствующий пин.
  • avatar
  • _YS_
  • 30 сентября 2016, 12:37
0
Не могу понять желания набивать шишки лично. Умный, как правило, учится на чужих ошибках…
  • avatar
  • _YS_
  • 27 марта 2016, 23:44
0
Мне это советовать уже поздно, ибо мне уже не восемнадцать, не двадцать и даже не двадцать три. :)

В любом случае, привычка думать о последствиях перед тем, как что-то делать, практически исключает возможность действовать так, как вы описали. :)

Хотя у меня есть друг детства, который делал именно описанным образом. Не могу сказать, что по итогам я ему завидую…
  • avatar
  • _YS_
  • 27 марта 2016, 23:43
0
Отличный пример. Так вот, в случае с Ардуино эти «подростки с калашами» рвутся (и поощряемы) выполнять задачи, подходящие только для спецназа. При этом они представляют опасность для окружающих.
  • avatar
  • _YS_
  • 27 марта 2016, 21:39
0
Да-да, нормальное распределение, хаос. Так вот, достойный порог вхождения и систематическая система обучения очень разравнивает это распределение, сильно уменьшая количество разработчиков, но повышая их качество.
  • avatar
  • _YS_
  • 27 марта 2016, 21:36
0
Вот такие проекты и вызывают самую серьезную озабоченность.
  • avatar
  • _YS_
  • 27 марта 2016, 17:50
0
Будем надеяться, что, несмотря на тараканы в голове, она не последует вашему совету. :)
  • avatar
  • _YS_
  • 27 марта 2016, 17:49
0
А как относитесь к хору?

Хорошо, если только это не хор кубанского казачества, например. :) Впрочем, к упомянутому я тоже хорошо отношусь. Только слушать вряд ли буду. :)

Все хочу сходить послушать Carmina Burana целиком.
  • avatar
  • _YS_
  • 27 марта 2016, 17:48
0
Однако…
  • avatar
  • _YS_
  • 27 марта 2016, 17:46
0
Да-да-да, примерно так все и бывает, я даже спорить не буду.
  • avatar
  • _YS_
  • 27 марта 2016, 17:45
0
А что такое нормальный® стек?
  • avatar
  • _YS_
  • 27 марта 2016, 17:04
0
Нет, то, что он получает удовольствие, это я уверен. Интересно, получают ли удовольствие его слушатели. :D
  • avatar
  • _YS_
  • 27 марта 2016, 17:02
0
Необходимо отличать тренажер от игрушки.

Я бы постеснялся сравнивать автомат Калашникова с ардуиной…

Кому интересно полезут в учебник.

Как же вы верите в людей… Я тоже когда-то верил. :)

И именно с этого начнётся новый рецепт кофе :)

Любимая отговорка сторонников подмены качества количеством. Все это звучит хорошо до тех пор, пока по тем же причинам в кофе не окажется яд, например.
  • avatar
  • _YS_
  • 27 марта 2016, 17:01
0
Я мало работал с PIC.
  • avatar
  • _YS_
  • 27 марта 2016, 16:58
0
Особенно выдающимся примером качества является web, где сейчас пишут все, кому не лень…
  • avatar
  • _YS_
  • 27 марта 2016, 16:58
0
Я пока не имел возможности оценить профессиональные навыки тов. Lifelover, так что судить не буду.
  • avatar
  • _YS_
  • 27 марта 2016, 16:57
0
Да вы счастливый человек…
  • avatar
  • _YS_
  • 27 марта 2016, 16:56
0
Нет, я не в Москве, хотя близко к тому. :)

Орган — это хорошо. Сам периодически поигрываю, воспоминая былое.

На органе поигрываете? O_O
  • avatar
  • _YS_
  • 27 марта 2016, 16:55