|

Programowanie w C++ – RPi – STL – Multiset

Wprowadzenie. Kontener „Multiset” przeznaczony jest do przechowywania elementów w określonej kolejności. W przeciwieństwie do kontenera set wartości elementów mogą się powtarzać. W kontenerze multiset wartość elementu jest jednocześnie identyfikatorem. Wartości elementów tego kontenera nie mogą być modyfikowanie, natomiast jest możliwe wstawianie nowych lub usuwanie istniejących elementów. Wstawiając lub usuwając elementy kontenera, przeprowadzane jest automatyczne sortowanie całego…

|

Programowanie w C++ – RPi – STL – Set

Wprowadzenie. Kontener „set” przeznaczony jest do przechowywania unikalnych elementów w określonej kolejności. W kontenerze set wartość elementu jest jednocześnie identyfikatorem. Wartości elementów tego kontenera nie mogą być modyfikowanie, natomiast jest możliwe wstawianie nowych lub usuwanie istniejących elementów. Wstawiając lub usuwając elementy kontenera, przeprowadzane jest automatyczne sortowanie całego zbioru.   Zakres artykułu. Właściwości kontenera Program w C++…

|

Programowanie w C++ – RPi – Szablony funkcji

Wprowadzenie. Jedną z ważnych funkcjonalności języka C++, które należy poznać są tak zwane szablony funkcji (Function templates). Tłumacząc w prosty sposób szablony funkcji są to funkcje specjalne z nieokreślonymi  ogólnymi typami (generic types). Taka właściwość pozwala nam napisać „uniwersalną” funkcję, która przy wywołaniu może przyjmować argumenty różnych typów, bez potrzeby powtarzania całego kodu dla konkretnych…

|

Programowanie w C++ – RPi – STL – Forward list

Wprowadzenie. Lista w przód „Forward list” to kontener sekwencyjny. Kontener ten charakteryzuje się stałym czasem wstawiania oraz usuwania elementów niezależnie od ich położenia. Zakres artykułu. Właściwości kontenera Program w C++ Plik Makefile Testy Właściwości kontenera Kolejne elementy nie są przechowane w pamięci obok siebie, przez co dostęp do określonego elementu uzyskuje się poprzez przeiterowanie listy…

|

Programowanie w C++ – RPi – STL – List

Wprowadzenie. Lista „List” to kontener sekwencyjny. Kontener ten charakteryzuje się stałym czasem wstawiania lub usuwania elementu z obu kierunków. Kontener ten zaimplementowany jest jako lista dwukierunkowa. Każdy element listy zawiera wskaźnik na następny i poprzedni obiekt elementu listy, dzięki czemu kolejne elementy nie są powiązane ze sobą miejscem alokacji. Zakres artykułu. Właściwości kontenera Program w…

Protokoły komunikacyjne – Modbus TCP – Teoria Cz II
|

Protokoły komunikacyjne – Modbus TCP – Teoria Cz II

Wprowadzenie. W poprzednim wpisie dotyczącym protokołu Modbus TCP (Modbus TCP cz I) przedstawiłem jak wygląda ramka protokołu, jaką strukturę ma nagłówek MBAP oraz wymieniłem i opisałem kategorie kodów funkcyjnych.Przed przystąpieniem do praktycznej implementacji protokołu na Raspberry Pi przedstawię jeszcze jak wygląda stos komunikacji Modbus TCP, jak wyglądają typy danych w Modbus’ie, w jaki sposób można…

Protokoły komunikacyjne – Modbus TCP – Teoria Cz I
|

Protokoły komunikacyjne – Modbus TCP – Teoria Cz I

Trochę teorii Modbus jest protokołem komunikacyjnym opracowanym w 1979 roku przez firmę Modicon. Komunikacja między urządzeniami realizowana jest w architekturze master-slave/client-server. Modbus jest protokołem otwartym a co za tym idzie wszystkie niezbędne informacje do jego implementacji są ogólnodostępne. Protokół Modbus możemy spotkać pod nazwami Modbus RTU, Modbus TCP oraz Modbus ASCII. Modbus RTU bazuje na…

||

Programowanie w C++ – RPi – STL – Array

Wprowadzenie. Tablica „Array” to kontener sekwencyjny. Kontener ten charakteryzuje się stałym rozmiarem. Każdy element tablicy ma określoną pozycję. Pozycje są nadawane w momencie utworzenia kontenera.  Zakres artykułu. Właściwości kontenera Program w C++ Plik Makefile Testy Właściwości kontenera Stały rozmiar kontenera; Kolejne elementy są przechowane w pamięci obok siebie dzięki czemu uzyskujemy prosty dostęp do grupy…

||

Programowanie w C++ – RPi – STL – Deque

Wprowadzenie. Kolejka o dwóch końcach „deque” to kontener sekwencyjny. Kontener ten charakteryzuje się dynamiczną zmianą rozmiaru. Każdy element wektora ma określoną pozycję, która jest nadawana w momencie wstawienia kolejnego elementu do kontenera. W odróżnieniu od wektora, deque ma możliwość wstawiania elementu zarówno na końcu jak i początku kontenera.  Zakres artykułu. Właściwości kontenera Program w C++…

||

Programowanie w C++ – RPi – STL – Vector

Wprowadzenie. Wektor „Vector” to kontener sekwencyjny. Kontener ten charakteryzuje się dynamiczną zmianą rozmiaru. Każdy element wektora ma określoną pozycję, która jest nadawana w momencie wstawienia kolejnego elementu do kontenera.  Zakres artykułu. Właściwości kontenera Program w C++ Plik Makefile Testy Właściwości kontenera Możliwość relatywnie szybkiego dynamicznego dodawania, usuwania elementów na końcu kontenera; Kolejne elementy są przechowane…