Przydatne biblioteki C++ STM32
|

Przydatne biblioteki C++ STM32

C++ w systemach embedded otwiera całą gamę nowych możliwości. Poprawne użycie nowoczesnych konstrukcji języka i biblioteki standardowej pozwala ułatwić i przyspieszyć naszą pracę. Niestety większość popularnych bibliotek C++ nie jest tworzona z myślą o systemach embedded. Czasami taka biblioteka mimo wszystko u nas zadziała, jednak nie zawsze mamy tyle szczęścia. Nawet wykorzystanie dużej części STL…

FPU w STM32F4 – jak używać Floating Point Unit
|

FPU w STM32F4 – jak używać Floating Point Unit

Jedną z największych zalet procesorów STM32F4 i ogólnie Cortex-M4 jest jednostka Floating Point Unit (FPU) przyspieszająca obliczenia na liczbach zmiennoprzecinkowych. Jej wykorzystanie wymaga od użytkownika włączenia FPU podczas działania programu oraz kompilacji z odpowiednimi flagami, aby używać instrukcji FPU. W tym wpisie omawiam jak obsługiwać FPU zarówno od strony programu jak i kompilatora oraz jak…

SLAM – Simultaneous Localisation and Mapping
||

SLAM – Simultaneous Localisation and Mapping

Jednym z najważniejszych celów stawianych robotom mobilnym jest autonomiczność. Roboty powinny wykonywać swoje zadania przy minimalnym udziale człowieka. Aktualnie jest to możliwe w bardzo ograniczony sposób. Środowisko pracy robota musi być specjalnie przygotowane i się nie zmieniać, a czynności muszą być powtarzalne. Te założenia są spełnione na przykład w halach produkcyjnych, gdzie roboty zastępują człowieka…

Watchdog timer
|

Watchdog timer

Każdy, kto miał do czynienia z elektroniką wie, że jeśli urządzenie przestało działać, należy je zresetować. W niektórych systemach robienie tego ręcznie nie jest możliwe. Przyczyną może być trudny, czy wręcz niemożliwy, dostęp dla operatora np. w przypadku sondy kosmicznej. Są też przypadki, gdy czas potrzebny na zauważenie usterki i ręczny reset jest zbyt długi…

Estymowanie czasu
|

Estymowanie czasu

W dzisiejszym artykule omawiam tajemną sztukę estymowania czasu. Wiele osób ma do siebie pretensje, że nie potrafi poprawnie przewidzieć wymaganego czasu na zadanie i projekt. Prawdopodobnie zapominają oni jakie jest znaczenie słowa estymata. Aby rozjaśnić temat wychodzę od statystyki i pewnych faktów o estymatorach, a następnie formułuję wnioski dotyczące estymowania czasu.  Nie należy tego traktować…

Exceptiony w mikrokontrolerach
|

Exceptiony w mikrokontrolerach

Kiedy w programie na PC nastąpi exception, aplikacja zakończy się z błędem. W skrajnym przypadku dostaniemy blue screena i komputer się zresetuje. Wyjątki są obsługiwane przez system operacyjny. W mikrokontrolerach nie mamy dostępu do takich zaawansowanych funkcjonalności. Jednak w dalszym ciągu możemy wykonać dzielenie przez 0 lub odwołać się do null pointera. W tym artykule…

O wskaźnikach i rzutowaniu w C
|

O wskaźnikach i rzutowaniu w C

Zmienne programu są w pamięci reprezentowane jako pewien ciąg bitów. Dla komputera nie ma znaczenia, czy ten ciąg to liczba, string, struktura, czy cokolwiek innego. Pisząc programy definiujemy typy zmiennych i to na te typy rzutowane są wartości bitowe. Języki wyższego poziomu jak np. C#, czy Python oddzielają tą implementację za pewną warstwą abstrakcji. Twórcy…

Konwersja typów przy operacjach arytmetycznych w C
|

Konwersja typów przy operacjach arytmetycznych w C

Aby wykonać operację arytmetyczną w  C, kompilator musi dysponować dwoma operandami tego samego typu. Jeżeli programista o to wcześniej nie zadbał, konwersja jest wykonywana niejawnie. Na przykład: Zmienna o mniejszym rozmiarze jest konwertowana do większego np. uint8 na uint32, czy float na double. Zmienna bez znaku jest konwertowana na zmienną ze znakiem. Zmienna int jest…

Zrównoważone tempo i negatywne skutki nadgodzin
|

Zrównoważone tempo i negatywne skutki nadgodzin

W praktykach Extreme Programming (XP) możemy przeczytać, że tydzień pracy programisty powinien wynosić 40 godzin. Możliwe są sporadyczne nadgodziny (kilka razy w roku), ale nigdy nie powinny występować przez dwa tygodnie pod rząd. Praktyka ta nosi nazwę Sustainable Pace, czyli zrównoważone tempo. Zgodnie z XP zespół powinien pracować w stałym tempie, które jest w stanie…

End of content

End of content