May 14

Комбиниране на Struct и Volatile в C/C++

Покрай един проект с Ардуиновъзникнаха няколко въпроса:

  1. Volatile ли са елементите на дадена структура, ако самататя е декларирана като Volatile?
  2. Може ли в структура да има както обикновени елементи, така и Volatile елементи?
  3. Как се дефинира указател към Volatile структура, която не е маркирана като Volatile в нейната дефиниция?

Continue reading

May 14

Служебната дума Volatile в C/C++

Компилаторите имат редицаопции, влияещи върхуоптимизацията на кода. Включвайки една или повече от тях, Вие разрешавате на Компилатора да прави “подобрения” на вашата програма, при превеждането й на Асемблер/машинен код.Обикновено оптимизациите не са проблем, но започват да създават главоболия при многонишковите приложения (Multithreading), Interrupt Service Routines (ISR), работа на ниско ниво с регистри на крайни устройства и т.н.

Главният симптом е: програмата Ви работи добре, докато не включите оптимизациите. След това започват да се случват “странни неща”.

Continue reading

Apr 13

Първи стъпки с Arduino (SoftUni) – Проектът

Петте седмици от курса отлетяха толкова бързо! И дойде време за проект и защита 🙂

В последния момент и много на бързо (така се стекоха обстоятелствата) успях да сътворя нещо семпло:

Continue reading

Apr 13

Reverse Package Search for ASP.NET 5 / ASP.NET Core

Разучавайки ASP.NET 5 / ASP.NET Core неминуемо ще попаднете на функцията ConfigureServices(). В нея се конфигурират услугите в DI контейнера:

Continue reading

Jan 03

Introducing JsonToDelphiClass

JSON format spread over the years and became preferred lightweight protocol for data exchange. Delphi natively supports JSON via the classes in the System.JSON unit. But dealing with TJsonObject requires an intermediate layer for mapping JSON values to our business logic.
Recent Delphi releases make it easier to load JSON data to a specific BL class with the help of TJson.JsonToObject. But in all cases the developer should manually create these BL classes which can be time consuming operation. The missing part is the JSON Data binding wizard.

Continue reading