Как стать автором
Обновить
4
0
Александр @bullitufa

embedded programmer

Отправить сообщение

Работа со списком Pinов, на С++ для микроконтроллеров (на примере CortexM)

Время на прочтение13 мин
Количество просмотров8.7K


Всем доброго здравия!


В прошлой статье я обещал написать о том, как можно работать со списком портов.
Сразу скажу, что уже все было решено до меня аж в 2010 году, вот статья: Работа с портами ввода-вывода микроконтроллеров на Си++ . Человек написавший это в 2010 просто красавчик.


Мне было немного неловко, что я будут делать то, что уже сделано 10 лет назад, поэтому я решил не дожидаться 2020 года, а сделать это в 2019, чтобы повторить решение еще пока 9 летней давности, это будет не так стремно.


В выше указанной статье работа со списками типов была сделана с помощью C++03, когда еще шаблоны имели фиксированное число параметров, а функции не могли быть constexpr выражениями. С тех пор С++ "немного изменился", поэтому давайте попробуем сделать тоже самое, но на С++17. Добро пожаловать под кат:

Читать дальше →
Всего голосов 6: ↑4 и ↓2+5
Комментарии47

Всё про налоги для IT-фрилансеров. Налоговая нагрузка ИП на разных режимах. Часть 3

Время на прочтение4 мин
Количество просмотров21K


Это третья, заключительная часть из цикла. В предыдущей статье мы подробно рассказали об УСН, патенте и налоге для самозанятых. В этой части рассчитаем налоговую нагрузку для ИП с доходом 100, 200 или 300 тыс. руб. в месяц на разных режимах.


Также вы можете зарегистрироваться в онлайн-бухгалтерии 1С: БизнесСтарт и самостоятельно поиграться с цифрами в калькуляторе, чтобы посмотреть какой режим выгоднее для вас.

Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии49

Всё про налоги для IT-фрилансеров. ИП и самозанятые. Часть 1

Время на прочтение6 мин
Количество просмотров62K


Раньше у IT-фрилансеров было только два варианта работать легально: зарегистрировать ИП на УСН или на патенте. С этого года появилась ещё одна альтернатива — стать самозанятым. Пока новый режим действует только в 4 регионах, но в 2020 году его планируют ввести на всей территории РФ.


Когда регистрировать ИП? Кто такие самозанятые? Какой режим выгоднее для фрилансера? Что выбрать c доходом 100, 200 или 300 тыс. руб. в месяц? Мы подробно ответим на эти и другие вопросы.


Статья состоит из трёх частей. В первой части мы расскажем про ИП и самозанятых. Во второй — сравним УСН, патент и налог для самозанятых. В третьей — рассчитаем налоговую нагрузку для ИП на разных режимах.


Добавляйте в закладки, чтобы почитать на выходных. И добро пожаловать под кат.

Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии20

10 распространенных ошибок в письменном английском и как с ними бороться

Время на прочтение6 мин
Количество просмотров26K


В последние пару лет я решил активно взяться за улучшение своего английского – хотелось поискать зарубежных заказчиков на сайтах вроде Upwork, но уровень письменной коммуникации был не на должном уровне. Как оказалось, здесь есть довольно много тонких моментов, которые не всегда очевидны не-носителю языка.

Я активно изучал тему и нашел интересную статью в блоге проекта TextlyAI – в ней перечислены 10 распространенных ошибок, которые люди делают при письме на английском и способы их исправления. Я подготовил адаптированный перевод этого материала.

Итак, вот какие ошибки в письменном английском наиболее распространены:
Читать дальше →
Всего голосов 39: ↑30 и ↓9+21
Комментарии59

Учим английский: 7 практических способов расширить словарный запас

Время на прочтение3 мин
Количество просмотров34K
image

Одна из важнейших задач при изучении иностранного языка – это не только практика с грамматикой, но и расширение словарного запаса. Чем больше слов вы знаете, тем в большем количестве ситуаций сможете объясниться – даже если у вас большие проблемы с артиклями и формированием времен, вас скорее всего поймут. А если вы знаете мало слов, то с этим уже ничего не поделать.

При этом важно понимать, что существует два типа лексики – активная и пассивная. Первая из них состоит из слов, которые вы активно используете, а вторая – это лексика, которую вы «знаете» и понимаете. Существуют способы наращивания лексических запасов обоих видов. Я нашла интересный пост с подборкой практических способов сделать это и подготовила его адаптированный перевод. Поехали!
Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии8

О злоупотреблении использования операционной системы в проектах под микроконтроллеры

Время на прочтение4 мин
Количество просмотров24K
Современные микроконтроллеры имеют достаточно большую производительность и это дает многим программистом возможность думать в примерно следующем ключе: — «Ничего страшного, если 1-5% производительности уйдут на обслуживание операционной системы. Зато мой код будет легко отлаживаемый и явный!». Эти мысли подкрепляются большим количеством энергонезависимой (flash) памяти для хранения кода операционной системы и оперативной (RAM/SRAM) памяти для выделения под каждую задачу своего стека. Однако в большинстве случаев эта мысль ошибочна. И в данной статье я расскажу, почему.
Читать дальше →
Всего голосов 44: ↑41 и ↓3+38
Комментарии74

Век живи — век учись. Часть 4. Учись, работая?

Время на прочтение11 мин
Количество просмотров20K
— Хочу прокачаться и пройти CCNA курсы Cisco, тогда я смогу перестроить сеть, сделать её более дешёвой и безотказной, поддерживать на новом уровне. Поможете с оплатой? — сисадмин, отработавший 7 лет, смотрит на директора.
— Я тебя обучу, а ты уйдёшь. Что я, дурак? Иди, работай, — звучит ожидаемый ответ.

Сисадмин идёт на место, открывает форум, Toster, Хабр и читает, как настроить маршрутизацию на сети из говна и палок практически музейного оборудования. Немного опустились руки, ну да ладно — можно отложить деньги на обучение и оплатить самостоятельно. А может, и правда, уйти? Вон у соседей новую Циску привезли…

Попадали в такую ситуацию? Обучение в процессе работы, организованное компанией или по инициативе работника, на мой взгляд, одна из самых продуктивных форм: сотрудник уже точно знает, что он хочет от курса, как оценивать информацию и как её использовать. Это тот случай, когда полугодичный курс может принести пользы больше, чем весь вуз вместе взятый. Сегодня поговорим о курсах, корпоративных университетах, наставничестве и самой бесполезной форме обучения. Наливайте горячий чай, садитесь перед монитором, давайте выбирать форму и/или формат обучения вместе.


Дразни рефлексы — учись дальше!

Это четвёртая часть цикла «Век живи — век учись»:

Часть 1. Школа и профориентация
Часть 2. Вуз
Часть 3. Дополнительное образование
Часть 4. Образование внутри работы
Часть 5. Самообразование

Делитесь своим опытом в комментариях — может быть, благодаря стараниям команды RUVDS и читателей Хабра чьё-то образование окажется немного осознаннее, правильнее и плодотворнее.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии10

Век живи — век учись. Часть 5. Самообразование: возьми себя в руки

Время на прочтение11 мин
Количество просмотров70K
А вам слабо в свои 25-30-35-40-45 сесть за обучение? Не корпоративное, не оплаченное по тарифу «контора платит», не вынужденное и когда-то недополученное высшее, а самостоятельное? Сесть за свой стол с выбранными вами книгами и учебниками, перед лицом строгого самого себя и освоить то, что вам нужно или так хотелось освоить, что вот уже просто сил нет жить без этих знаний? Это, пожалуй, один из самых сложных интеллектуальных процессов взрослой жизни: мозги скрипят, времени мало, всё отвлекает, да и мотивация не всегда однозначная. Самообразование — важный элемент жизни абсолютно любого профессионала, но оно сопряжено с определёнными трудностями. Давайте разбираться, как лучше организовать этот процесс, чтобы не загнать себя и получить результат.



Это последняя часть цикла «Век живи — век учись»:

Часть 1. Школа и профориентация
Часть 2. Вуз
Часть 3. Дополнительное образование
Часть 4. Образование внутри работы
Часть 5. Самообразование

Делитесь своим опытом в комментариях — может быть, благодаря стараниям команды RUVDS и читателей Хабра обучение окажется немного осознаннее, правильнее и плодотворнее. 
Читать дальше →
Всего голосов 49: ↑46 и ↓3+43
Комментарии27

Безопасный доступ к полям регистров на С++ без ущерба эффективности (на примере CortexM)

Время на прочтение24 мин
Количество просмотров16K
image
Рис. взят с сайта www.extremetech.com/wp-content/uploads/2016/07/MegaProcessor-Feature.jpg

Всем доброго здравия!

В прошлой статье я рассмотрел вопрос о проблеме доступа к регистрам микроконтроллера с ядром CortexM на языке С++ и показал простые варианты решения части проблем.

Сегодня я хочу показать идею как можно сделать безопасным доступ к регистру и его полям без ущерба эффективности, используя сгенерированные на основе SVD файлов С++ классы.

Всех кого заинтересовал, добро пожаловать под кат. Кода будет много.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии40

Чего нельзя требовать и за что нельзя хвалить сотрудников, если вы хотите, чтобы они хорошо работали

Время на прочтение3 мин
Количество просмотров84K
Уже давно сформулировал для себя этот подход. Возможно, он очевиден, но хуже от этого не становится.

Сначала сами пункты.

Никогда не требуйте и не хвалите сотрудников за:

  • вовремя приходят на работу или с обеда
  • ходят в соответствии с дресс-кодом
  • задерживаются на работе, работают на выходных

Это не все и примеры специально выбраны простые и очевидные, но для объяснения хорошо подходят.

Обратите внимание, что речь не только про «не хвалите», но и про «не требуйте».

С удивлением недавно обнаружил, что до сих пор большое количество компаний требуют строгий дресс-код для всех сотрудников (даже тех, кто не вылезает из офиса и не видится с клиентами) и следит, чтобы люди приходили в 9:00.

Опустим те ситуации, где они (форма и строгое время прихода) действительно необходимы, потому что их можно пересчитать по пальцам: машинист электропоезда в метро, врач скорой помощи, сотрудники полиции и т.п.

А теперь почему так? Ведь хорошо, когда сотрудник не опаздывает и ходит в офис не в рваных джинсах?
Читать дальше →
Всего голосов 157: ↑137 и ↓20+117
Комментарии356

Как придумывать содержательные имена для вашего кода

Время на прочтение4 мин
Количество просмотров13K
Перед вами перевод статьи из блога Better Programming на сайте Medium. В ней программист Daan делится простыми правилами, следуя которым вы сможете давать хорошие имена функциям и переменным.



Будучи разработчиком, вы наверняка тратите много времени на создание переменных и придумывание их имен. Имена повсюду: они нужны для файлов, классов, методов и тех самых переменных.

Так как мы проводим столько времени присваивая имена, очень важно делать это качественно. В данной статье я расскажу вам о нескольких простых правилах, следуя которым вы сможете создавать хорошие имена. Ведь это целое искусство!
Читать дальше →
Всего голосов 35: ↑24 и ↓11+13
Комментарии19

10 принципов самодокументируемого кода

Время на прочтение6 мин
Количество просмотров41K
Привет! Сегодня я хочу поделиться советами по написанию совершенного понятного кода, взятые из книги Питера Гудлифа «Ремесло программиста // Практика написания хорошего кода».

Конечно, неплохо было бы прочитать эту занимательную книгу каждому кто пишет код, но для особо ленивых, но желающих перестать меньше мучить и вводить коллег в заблуждение (совесть имейте) представляю под катом 10 принципов самодокументируемого кода:
Читать дальше →
Всего голосов 61: ↑49 и ↓12+37
Комментарии134

Чему я научился на своём горьком опыте (за 30 лет в разработке ПО)

Время на прочтение22 мин
Количество просмотров117K
image

Это циничная, клиническая коллекция того, чему я научился за 30 лет работы в разработке программного обеспечения. Повторюсь, некоторые вещи весьма циничны, а остальное — результат долгих наблюдений на разных местах работы.
Читать дальше →
Всего голосов 187: ↑178 и ↓9+169
Комментарии128

Несколько полезных советов для тех, кто решил изучать английский самостоятельно

Время на прочтение11 мин
Количество просмотров39K
Человеку, который никогда толком не изучал английский язык, может быть очень тяжело как морально, так и умственно основательно приступить к изучению языка. Ещё сложнее это может показаться делать самостоятельно. Кажется, что следовало заниматься всем этим в детстве. Потому что сейчас уже просто нет для этого ни сил, ни времени. Потому что английский язык это очень-очень много информации, а мозг маленький. Это нормальное чувство, хотя оно и обманчиво.

image


Предыстория


Кому-то в школьные годы английский давался легко. Другим же, в том числе и мне, английский казался жутко сложным и учить его казалось невозможным. Я себя чувствовал просто отчаянно тупым, когда сидел на уроках английского и что-то мямлил, пытаясь ответить на вопросы учителей. А потом родителям приходилось оплачивать дополнительные уроки по английскому, чтобы меня не оставляли на второй год. И на этих уроках я точно так же сидел и ничего не понимал.
Читать дальше →
Всего голосов 36: ↑29 и ↓7+22
Комментарии42

Марвин Мински «The Emotion Machine»: Глава 8.1-2 «Творческий подход»

Время на прочтение7 мин
Количество просмотров2.6K
image


8.1 Творческий подход


«Хотя такая машина многое могла бы сделать так же хорошо и, возможно, лучше, чем мы, в другом она непременно оказалась бы несостоятельной, и обнаружилось бы, что она действует не сознательно, а лишь благодаря расположению своих органов».
— Декарт. Рассуждения о методе. 1637 г.

Мы привыкли использовать машины, которые сильнее и быстрее людей. Но до появления первых компьютеров никто не догадывался, что машина может делать что-то большее, чем ограниченное число различных действий. Наверное, поэтому Декарт настаивал на том, что ни одна машина не может быть настолько изобретательной, как человек.

«Ибо в то время как разум — универсальное орудие, могущее служить при самых разных обстоятельствах, органы машины нуждаются в особом расположении для каждого отдельного действия. Отсюда немыслимо, чтобы в машине было столько различных расположений, чтобы она могла действовать во всех случаях жизни так, как нас заставляет действовать наш разум». — Декарт. Рассуждения о методе. 1637 г.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии0

Привычка делать сейчас

Время на прочтение4 мин
Количество просмотров42K

Привычка делать сейчас Нила Фиоре — это самоучитель о понимании и преодолении прокрастинации.


Прокрастинция — это механизм борьбы с боязнью начала или завершения задачи. Никто не ленив во всём: можно быть неспособным начать новую главу романа, но при этом спокойно продолжать обязательное чтение курса своего коллеги.


Хороший способ начать управлять прокрастинацией: вести журнал прокрастинации, где вы будете кратко записывать время, активность, свои мысли и чувства, свои оправдания, свои попытки решения проблемы и свои результирующие мысли и чувства.

Читать дальше →
Всего голосов 45: ↑40 и ↓5+35
Комментарии38

Микробиота. Как заботиться о бактериях кишечника

Время на прочтение5 мин
Количество просмотров20K
Мы с Атласом уже рассказали, как работает микробиота, какие бактерии живут в кишечниках россиян и как микробиота влияет на развитие заболеваний. Сегодня делимся информацией, как заботиться о бактериях кишечника, чтобы оставаться здоровым.


Автор иллюстраций Rentonorama
Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии27

Использование C++ и шаблонов с переменным количеством аргументов при программировании микроконтроллеров

Время на прочтение7 мин
Количество просмотров23K

ARM с ядром Cortex Mx (на примере STM32F10x)


КДПВ Микроконтроллер ARM Cortex M3 STM32F103c8t6 широко распространен как 32-х битный микроконтроллер для любительских проектов. Как для практически любого микроконтроллера, для него существует SDK, включающая, в том числе и заголовочные файлы C++ определения периферии контроллера.

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

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

Эта структура и её экземпляр описаны вот так:
Читать дальше
Всего голосов 27: ↑26 и ↓1+25
Комментарии91

Полнофункциональный драйвер SDHC карты памяти для Stm32f4 (часть 1)

Время на прочтение14 мин
Количество просмотров102K

Для чего эта статья?


Все эмбеддеры, рано или поздно, сталкиваются с проблемой нехватки ПЗУ микроконтроллера для своих проектов. Ну банально, Вам нужно разработать систему управления простеньким ЧПУ станком, где управляющая программа хранится на самом девайсе или систему сбора данных, скажем, от датчиков какого-нибудь эксперимента – очевидно, что микроконтроллер изначально не предназначался для хранения таких массивов информации.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии18

Управление ожиданиями или Как говорить «нет»

Время на прочтение9 мин
Количество просмотров19K
Преподаватель Финансового университета Тигран Басеян рассказал Нетологии о своем опыте работы в корпоративном стартапе Боржоми и управлении ожиданиями.

Сколько раз после неудачного проекта я думал: «Теперь все пойдет иначе, я набрался опыта. Такие вещи я больше не буду делать. И такие проекты брать не буду». Чувствуете боль? Узнаете себя?

Есть такая рубрика — поделись тем, что узнал на опыте — потом и кровью. Поделюсь несколькими приемами управления ожиданиями, которым я был бы рад лет 8 назад в начале карьеры в IT.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии1

Информация

В рейтинге
Не участвует
Откуда
Уфа, Башкортостан(Башкирия), Россия
Дата рождения
Зарегистрирован
Активность