Technika cyfrowa - Elementy: Transmisja\nCo to jest transmisja cyfrowa?\nBłędy w transmisji\nPrzez transmisję (ang. transmission) będziemy ogólnie rozumieć przesyłanie danych pomiędzy dwoma urządzeniami. Transmisja cyfrowa (ang. digital transmission) polega na przesyłaniu bitów, które stanowią informację cyfrową. Aby mogło dojść do przesłania informacji musi być spełnione kilka warunków. Spójrz na poniższy rysunek:\nPrzedstawia on kanał transmisyjny (ang. transmission chanel). Transmisja odbywa się w ośrodku, który umożliwia przesył sygnałów wybranych do przenoszenia informacji. Ośrodkiem może być np. przestrzeń (fale elektromagnetyczne, światło lasera, promieniowanie podczerwone, itp.), przewód (prąd elektryczny), powietrze (fala akustyczna, ultradźwięki). Sygnał jest wytwarzany przez nadajnik (ang. transmitter), a następnie przemieszcza się przez ośrodek i dociera do odbiornika (ang. receiver). Nadajnik i odbiornik tworzą dopasowaną parę, tzn. odbiornik musi być w stanie odbierać i odpowiednio zinterpretować sygnały wytwarzane przez nadajnik.\nNadajnik otrzymuje informację w postaci bitów, następnie zamienia ją w odpowiednią postać sygnału i wysyła do ośrodka. Sygnał poprzez ośrodek dociera do odbiornika, zostaje odebrany i z powrotem zamieniony w bity. W ten sposób odbywa się transmisja cyfrowa. Zasada jest prosta, diabeł tkwi w szczegółach.\nPierwszy problem polega na doborze właściwego sygnału, który łatwo (czytaj tanio) będzie można wytworzyć, a który skutecznie przeniesie pożądaną informację przez dany ośrodek.\nNastępny problem pojawia się przy wyborze sposobu przesyłania bitów. Możemy to robić na dwa sposoby: równocześnie przesyłając zadaną liczbę bitów – transmisja równoległa (ang. parallel transmission) lub przesyłając bity pojedynczo jeden za drugim – transmisja szeregowa (ang. serial transmission).\nTransmisja równoległa jest szybsza, gdyż naraz przesyła się kilka bitów, jednak wymaga rozdzielnych kanałów transmisyjnych lub skomplikowanego kodowania danych.\nTransmisja szeregowa jest wolniejsza, lecz prostsza do zrealizowania. Wymaga pojedynczego kanału transmisji.\nZanim dane będą mogły być przesłane przez ośrodek, muszą zostać odpowiednio ukształtowane w sygnał, który przeniesie je w danym ośrodku. Przy transmisji cyfrowej przesyłamy bity. Bit może występować w dwóch różnych postaciach, które tutaj oznaczamy cyframi 0 i 1. Oczywiście zamiast cyfr mogą to być dwa poziomy napięć, np. w technice TTL bit o stanie 1 reprezentowany jest napięciem 2,4...5V, a bit o stanie 0 reprezentuje napięcie 0...0,8V. Napięcia te są wykorzystywane przez bramki, przerzutniki i sieci logiczne do przetwarzania informacji binarnej. Jeśli chcemy przesyłać bity przez ośrodek, to musimy określić postać sygnału dla bitu o stanie 1 i dla bitu o stanie 0. Przykładowo załóżmy, że będziemy przesyłać informację przewodem elektrycznym za pomocą prądu. Możemy wtedy umówić się, że bit o stanie 1 będzie przesyłany, jeśli w przewodzie płynie prąd, a bit o stanie 0 jest przesyłany, jeśli prąd nie płynie lub ma bardzo małą wartość.\nKształtowanie sygnału na podstawie bitu, który sygnał ma przenosić, nazywamy modulacją (ang. modulation).\nIstnieje wiele typów modulacji. Najpierw przyjrzyjmy się parametrom fali sinusoidalnej, która jest najbardziej naturalną postacią sygnału przemieszczającego się przez ośrodek.\nPowyższy rysunek przedstawia wykres dwóch funkcji sinusoidalnych w czasie. Czerwoną linią zaznaczyliśmy wykres podstawowy, a zieloną wykres przesunięty w czasie. Na wykresie zaznaczono:\nA – amplituda, czyli największa wartość funkcji (na moduł)\nT – okres, czas, po upływie którego funkcja przyjmuje te same wartości\nφ – przesunięcie fazowe\nFunkcja podstawowa ma postać:\nPrędkość kątowa ω dana jest wzorem:\nJednostka prędkości kątowej to radiany na sekundę. Po wstawieniu prędkości kątowej do wzoru funkcji otrzymujemy:\nWzór dla funkcji przesuniętej fazowo przyjmuje teraz postać:\nTe trzy parametry wykorzystuje się do modulacji sygnału:\nModulacja amplitudy (ang. AM – Amplitude Modulation):\nDla stanów bitów przyjmuje się różne wartości amplitudy:\nJeśli dane są przesyłane szeregowo bit po bicie, to każdy bit jest przesyłany przez ściśle określony czas i w tym czasie, zwanym oknem bitowym, sygnał ma stałą amplitudę. Załóżmy, że przesyłamy w ten sposób daną 8-bitową 01101001. Sygnał ma postać:\nNadajnik przesyłając bit o stanie 0 wysyła w oknie bitowym sygnał o małej amplitudzie (amplituda raczej nie wynosi zero, ponieważ wtedy odbiornik nie może stwierdzić, czy w ogóle odbiera sygnał, zatem nawet dla bitu 0 wybiera się małą amplitudę). Gdy nadajnik przesyła bit o stanie 1, w oknie bitowym transmituje sygnał o dużej amplitudzie. Odbiornik odczytuje amplitudę sygnału w oknie bitowym. Jeśli jest niska, odbiornik "wie", że przesyłany jest bit o wartości 0. Jeśli jest wysoka, odbiornik interpretuje ją jako bit o wartości 1.\nModulacja amplitudy jest prosta w realizacji, jednak jest ona mało odporna na zakłócenia w kanale transmisyjnym.\nPrzez zakłócenie rozumiemy obcy sygnał (nie wysłany przez nadajnik), który może losowo się pojawić w ośrodku transmisyjnym. Skąd się biorą takie zakłócenia? To zależy od ośrodka oraz rodzaju przesyłanego sygnału. Na przykład przesyłanie za pomocą fal radiowych może być zakłócane przez warunki atmosferyczne, urządzenia elektryczne lub inne nadajniki pracujące w pobliżu. Zakłócenia sumują się z sygnałem i mogą powodować błąd w transmisji. Dla transmisji cyfrowej przez błąd transmisji rozumiemy odebranie bitu o stanie przeciwnym do nadanego. Na przykład:\nKolorem niebieskim zaznaczony jest sygnał zakłócający transmisję. W efekcie sygnał nadajnika zostaje zniekształcony i odbiornik odbiera dwa bity (zaznaczone na czerwono) o stanie przeciwnym do nadanego. Powstaje błąd transmisji. Błędami zajmiemy się w dalszej części rozdziału.\nModulacja częstotliwości (ang. FM – frequency modulation):\nCzęstotliwość jest liczbą okresów sygnału w ciągu sekundy. Jednostką częstotliwości jest herc Hz. 1Hz jest częstotliwością sygnału, którego okres wynosi 1 sekundę. W praktyce stosowane są większe częstotliwości:\n1kHz kiloherc = 1000Hz\n1MHz megaherc = 1000kHz = 1000.000Hz\n1GHz gigaherc = 1000MHz = 1000.000kHz = 1000.000.000Hz\nW tej modulacji przydziela się różne częstotliwości sygnału dla bitu o stanie 0 i dla bitu o stanie 1, które są przesyłane w oknie bitowym. Amplituda sygnału nie jest wykorzystywana:\nTransmisja z modulacją częstotliwości jest bardziej odporna na zakłócenia od transmisji z modulacją amplitudy. O ile zakłócenie nie zmieni częstotliwości przesyłanego sygnału, nie wpłynie na odbiór danych. Odbiornik w oknie bitowym bada częstotliwość odebranej fali (można to robić za pomocą odpowiednio dostrojonych filtrów) i na tej podstawie rozróżnia bit o stanie 0 i bit o stanie 1.\nModulacja fazy (ang. PM Phase Modulation):\nStany bitów kodowane są przesunięciem fazowym:\nSzybkość transmisji sygnału wyrażamy za pomocą bodów (ang. bauds). Body określają liczbę zmian postaci fali niosącej informację w ciągu jednej sekundy. Jeżeli zmiana oznacza przesłanie jednego bitu, to liczba bodów odpowiada liczbie przesłanych bitów w ciągu jednej sekundy. Lecz czasem stosuje się kilka modulacji jednocześnie w celu zwiększenia liczby przesyłanych bitów w danej jednostce czasu. Dla przykładu załóżmy, że stosujemy jednocześnie modulację amplitudy i modulację częstotliwości. Fala nośna będzie w takim przypadku mogła przybierać 4 różne postacie, które umożliwią jednoczesne przesyłanie dwóch bitów:\nZwróć uwagę, że stosując dwie modulacje w jednym oknie bitowym przesyłane są po dwa bity jednocześnie, zatem prędkość transmisji wzrasta dwukrotnie. Dodając kolejne modulacje można zwiększyć liczbę bitów. W ten sposób zwiększa się przepustowwość kanału transmisyjnego.\nZ tego typu modulacjami spotkasz się przy przesyłaniu danych za pomocą fal radiowych, np. w telewizji cyfrowej.\nDo formowania i odbioru sygnałów służą urządzenia zwane modemami (ang. modulator + demodulator). Zawierają one dwa elementy: nadajnik i odbiornik sygnału, który jest dopasowany do ośrodka transmisyjnego. Modemy współpracują z mikrokontrolerami:\nW praktyce amatorskiej dane będą przesyłane najczęściej przewodem za pomocą prądu elektrycznego na nieduże odległości (do kilku metrów). W takim przypadku nadajniki i odbiorniki można wykonać w prosty sposób z kilku tranzystorów lub zastosować gotowe układy transmisyjne. Większość współczesnych mikrokontrolerów posiada tego typu elementy już wbudowane w swoją strukturę.\nNadajniki i odbiorniki cyfrowe linii\nTechnika przesyłania sygnałów cyfrowych (bitów) nie jest prosta. Dlatego dobrze jest stosować typowe rozwiązania, które wielokrotnie sprawdziły się w praktyce.\nPrzesyłanie danych na małą odległość nie wymaga zwykle skomplikowanych układów. Można nawet wykorzystać zwykłe bramki cyfrowe:\nDo transmisji potrzebny jest przewód dwużyłowy. Jedną żyłą przesyłane są dane, druga podłączona jest w obu urządzeniach do masy. Przewód może mieć długość kilka metrów. jako nadajnik dobrze jest zastosować bramkę mocy.\nLepszym rozwiązaniem jest zastosowanie gotowego układu nadajnika linii. W handlu można spotkać wiele typów takich układów. Na przykład:\nUkłady mogą pełnić rolę nadajników. W zależności od typu zawierają dwie bramki NAND (SN75450/SN75451), AND (SN75452), NOR (SN75453) lub OR (SN75454) oraz dwa tranzystory npn z otwartymi obwodami kolektorów. Takie rozwiązanie pozwala stosować różne konfiguracje nadajników (najbardziej uniwersalny jest układ SN75450):\nJeśli linia transmisyjna jest dłuższa niż kilka metrów, to problem przesyłania danych komplikuje się, ponieważ w takiej linii pojawiają się pojemności i indukcyjności pasożytnicze, które zakłócają transmitowany sygnał. Dodatkowo dłuższe przewody są czułe na zewnętrzne pola elektryczne i magnetyczne. W takich przypadkach dane przesyła się dwoma liniami w ten sposób, iż sygnały mają w nich fazy przeciwne. Zakłócenia znoszą się wzajemnie w obu przewodach. Odbiornikiem jest wzmacniacz różnicowy:\nDo przesyłania i odbioru danych poprzez długą linię stosuje się zwykle gotowe układy scalone nadajników i odbiorników, np. SN75121/SN75122, SN65LVDS1, SN65LVDS2, itp.\nRodzaje transmisji cyfrowych\nW zależności od sposobu przesyłania bitów mamy transmisję równoległą (ang. parallel transmission) i transmisję szeregową (ang. serial transmission).\nW transmisji równoległej bity są przesyłane jednocześnie grupami, np. po 8 bitów. Transmisja wymaga osobnych kanałów dla każdego bitu grupy. W latach 90-tych ubiegłego wieku większość produkowanych wtedy komputerów posiadała złącze równoległe Centronics, które było wykorzystywane do transmisji danych do drukarki:\nWraz z upowszechnieniem się standardu USB złącza Centronics zniknęły z komputerów PC, jednakże ich składniki są wciąż dostępne w sprzedaży i możesz je wykorzystywać we własnych projektach. Informację bez trudu znajdziesz w sieci.\nTransmisja równoległa jest kłopotliwa przy wyższych prędkościach przesyłu, ponieważ poszczególne kanały oddziałują na siebie wzajemnie i należy je ekranować. Jeśli jednak linia przesyłu danych (zwana tutaj zwykle magistralą) nie jest zbyt długa, a szybkość transmisji nie jest zbyt duża, to do przesyłania sygnałów można wykorzystać zwykłą taśmę wieloprzewodową:\nAby uniknąć zakłóceń, żyły sygnałowe przedziela się żyłami masy.\nW ten sposób możesz przesyłać dane pomiędzy różnymi elementami swojego urządzenia: wyświetlaczami, klawiaturami, pamięciami, mikrokontrolerami, itp.\nW transmisji szeregowej bity są przesyłane kolejno jeden za drugim. Zaletą jest tutaj to, iż naraz przesyłany jest jeden sygnał, zatem prostsza staje się jego ochrona przed zakłóceniami. Drugą zaletą jest mała liczba linii sygnałowych niezbędnych do realizacji transmisji, co jest istotne szczególnie w przypadku mikrokontrolerów, gdzie liczba dostępnych portów wejścia/wyjścia jest ograniczona. Typowym przykładem transmisji szeregowej jest powszechnie stosowany obecnie standard USB (ang. Universal Serial Bus – uniwersalna magistrala szeregowa), który doczekał się już wersji nr 3. W użyciu są również inne standardy, które krótko opiszemy dalej. Współczesne mikrokontrolery posiadają zwykle elementy do transmisji szeregowej, co jest olbrzymim ułatwieniem dla konstruktorów.\nTransmisję równoległą i szeregową dzielimy dalej na transmisję z potwierdzeniem odbioru i na transmisję bez potwierdzenia odbioru.\nW przypadku transmisji z potwierdzeniem (ang. handshake transmission) odbiornik posiada dodatkowy kanał zwrotny, którym przesyła sygnał potwierdzający odebranie danych ACK (ang. acknowledgment, potwierdzenie). Nadajnik w odpowiedzi na ten sygnał może przesłać kolejną porcję danych. W tego rodzaju transmisji można łatwo zrealizować transmisję z powtórzeniem w przypadku błędu. Odbiornik po stwierdzeniu błędu w odebranych danych wysyła do nadajnika specjalny sygnał negatywnego potwierdzenia NACK (ang. negative acknoledgment). W odpowiedzi nadajnik powtarza jeszcze raz transmisję danych.\nW transmisji bez potwierdzenia nadajnik wysyła dane, lecz nie sprawdza, czy zostały odebrane. Tak jest np. w przypadku telewizji cyfrowej. Dane są zwykle odpowiednio kodowane tak, aby umożliwić odbiornikowi naprawę błędów transmisji.\nKolejny podział daje nam transmisję synchroniczną i asynchroniczną.\nW transmisji synchronicznej (ang. synchronous transmission) oprócz sygnału danych przesyłany jest sygnał synchronizujący, który ułatwia odbiornikowi odczyt informacji. Sygnał synchronizacji przesyłany jest zwykle osobnym kanałem transmisyjnym, zatem dla transmisji szeregowej wymagane są dwie linie przesyłowe:\nNarastające zbocza impulsów zegarowych wyznaczają moment odczytu danych przez odbiornik. Ten rodzaj transmisji pozwala przesyłać dane z różnymi prędkościami.\nW transmisji asynchronicznej (ang. asynchronous transmission) przesyłany jest tylko sygnał danych, lecz ustala się stałą prędkość transmisji. Dane poprzedzane są zwykle tzw. bitem startu, który nie należy do danych, lecz pozwala odbiornikowi wykryć początek transmisji. Po przesłaniu odpowiedniej liczby bitów przesyłany jest bit stopu o wartości przeciwnej do bitu startu. Gdy prędkość transmisji jest ustalona i stała, odbiornik po wykryciu bitu startu odczytuje z odpowiednią prędkością bity danych, a po odebraniu bitu stopu czeka na kolejną porcję bitów:\nTransmisja asynchroniczna jest chętnie stosowana, ponieważ przy szeregowym przesyle danych wymaga tylko jednej linii transmisyjnej.\nOstatni podział daje nam transmisję duplex i simplex (pół duplex).\nTransmisja duplex polega na możliwości przesyłania informacji w obu kierunkach jednocześnie. Oba urządzenia komunikujące się posiadają nadajniki i odbiorniki, które łączą się dwoma kanałami transmisyjnymi:\nW transmisji simplex mamy jeden kanał transmisyjny, który jest wykorzystywany naprzemiennie przez oba urządzenia do transmisji dwukierunkowej, jednak w danej chwili transmisja jest możliwa tylko w jednym kierunku:\nOmawiając transmisję cyfrową nie można nie wspomnieć o błędach. Błędy pojawiają się z różnych powodów. Najczęściej spowodowane są uszkodzeniem sygnału w trakcie przesyłania go przez kanał transmisyjny. Do takiego uszkodzenia dochodzi, gdy w kanale pojawia się obcy sygnał, który nie należy do transmisji. Sygnał ten sumuje się z sygnałem nadawanym i zniekształca go. W rezultacie odbiornik może źle zinterpretować odebrany sygnał i dochodzi do błędu.\nTransmisja cyfrowa polega na przesyłaniu bitów. Bity mogą przyjmować tylko dwa różne stany, które umownie oznaczamy tu cyframi 0 (stan niski) i 1 (stan wysoki). Błąd wystąpi wtedy, gdy odbiornik odbierze bit o stanie przeciwnym do nadanego: tzn. nadajnik wysyła bit o stanie 1, a odbiornik odbiera go jako bit o stanie 0 lub na odwrót.\nJeśli nie stosuje się żadnych zabezpieczeń przed błędami, to odbiornik nie jest w stanie stwierdzić, czy odebrana informacja jest lub nie jest poprawna. Transmisja bez zabezpieczeń stosowana jest zwykle wtedy, gdy prawdopodobieństwo wystąpienia błędów jest bardzo małe, np. wewnętrzne przesłania danych pomiędzy elementami urządzenia. Gdy błędy mogą się pojawić, a informacja jest istotna, należy zabezpieczać transmisję.\nZabezpieczenie informacji polega na jej odpowiednim kodowaniu. Wymyślono dwa rodzaje kodów zabezpieczających:\nkody detekcyjne EDC (ang. error detection codes), które potrafią wykryć, że odebrana informacja nie jest poprawna. Stosuje się je w transmisji z potwierdzeniem. Gdy odbiornik wykryje błąd, kanałem zwrotnym przesyła negatywne potwierdzenie NACK, a odbiornik powtarza transmisję danych. W ten sposób informacja zostanie odebrana poprawnie nawet w przypadku błędów, jedynie czas transmisji zostanie wydłużony.\nkody korekcyjne ECC (ang. error correction codes), które potrafią naprawiać błędy transmisyjne (do pewnego stopnia). Stosuje się je tam, gdzie nie ma kanału zwrotnego lub powtórzenie transmisji danych nie usuwa błędów (np. odczyt z porysowanej płyty DVD).\nJeden z najprostszych kodów detekcyjnych to tzw. bit parzystości (ang. parity bit). Polega to na tym, iż do przesyłanych danych dołączamy jeden dodatkowy bit. Stan bitu ustalamy tak, aby liczba jedynek w całym słowie była parzysta:\nDane BP Wynik\n0000 0 00000\n0110 0 01100\n0100 1 01001\n1110 1 11101\nTak przygotowane słowo kodowe przesyłamy przez kanał transmisyjny. Jeśli nastąpi przekłamanie jednego bitu (ogólnie nieparzystej liczby bitów), to zmieni się parzystość słowa:\nJeśli bit o stanie 1 zostanie odebrany jako bit o stanie 0, to zmaleje liczba jedynek i słowo będzie posiadało ich nieparzystą liczbę:\nJeśli bit o stanie 0 zostanie odebrany jako bit o stanie 1, to wzrośnie liczba jedynej i słowo będzie zawierało ich nieparzystą liczbę:\nW obu przypadkach odebrane słowo traci parzystość. Na tej podstawie odbiornik wie, że dane zawierają błąd. Kanałem zwrotnym odbiornik może zażądać powtórzenia transmisji (NACK).\nBit parzystości łatwo wygenerować za pomocą bramek EX-OR:\nPo stronie nadajnika stosowany jest podobny układ a dodatkową bramką EX-OR:\nNa wyjściu ERROR pojawia się stan 1, jeśli liczba jedynek w odebranym słowie jest nieparzysta, a zatem gdy jeden z bitów zostanie odebrany błędnie. Jeśli wyjście ERROR ma stan logiczny 0, to bity A...H zostały odebrane poprawnie lub wystąpiły błędy parzyste.\nW praktyce stosowane są gotowe układy zawierające generator bitu parzystości, np. SN74180. Mikrokontrolery zwykle posiadają wbudowane elementy transmisyjne zawierające tę funkcję.\nBit parzystości pozwala wykrywać tylko błędne odebranie nieparzystej liczby bitów. Jeśli błąd wystąpi na parzystej liczbie bitów (2,4,6...), to nie zostanie wykryty, ponieważ zmiana parzystej liczby bitów na przeciwne nie zmienia parzystości słowa. Spróbuj to uzasadnić.\nBity parzystości zabezpieczają dane o niewielkiej liczbie bitów (8, 16). Spowodowane jest to tym, iż w długim ciągu bitów rośnie prawdopodobieństwo błędu podwójnego, który przez ten system nie jest rozpoznawany. Do zabezpieczania większej liczby bitów stosuje się tzw. sumy kontrolne (ang. checksums). Zasada jest następująca:\nPrzesyłaną informację dzieli się na słowa o stałej liczbie bitów (najczęściej 8, czyli na bajty). Słowa te przesyłane są przez kanał transmisyjny bez zabezpieczenia lub z bitem parzystości. Po przesłaniu słowa traktowane jako liczby dwójkowe dodaje się je do sumy kontrolnej, która na początku transmisji jest zerowana. Gdy cała informacja zostanie przesłana, nadajnik wysyła do odbiornika sumę kontrolną.\nPo stronie odbiorczej odbiornik na początku transmisji zeruje swoją sumę kontrolną, po czym odbiera poszczególne słowa bitowe, dodając je do swojej sumy. Na końcu transmisji odbiera sumę kontrolną i porównuje ją ze swoją sumą. Jeśli obie sumy są równe, to zakłada, że dane odebrano poprawnie. Jeśli nie, występuje błąd sumy kontrolnej (ang. checksum error), co sygnalizuje błąd w odebranych danych. Na tej podstawie odbiornik może zażądać powtórzenia transmisji.\nZaletą sum kontrolnych jest to, iż są krótkie bitowo w porównaniu z liczbą bitów danych. Np. 16 bitów sumy kontrolnej na 1024 bitów danych.\nSumy kontrolne mogą być tworzone w sposób sprzętowy lub programowy. Poniżej przedstawiony jest przykładowy program w języku C (Code Blocks) symulujący transmisję z 4-bitową sumą kontrolną 16 danych 4-bitowych.\nZ SUMĄ KONTROLNĄ\nFunkcja wyświetla 4 najmłodsze bity\nvoid print4b(int x)\nint mask = 8; // maska bitowa:\nif(x & mask) printf("1");\n// Inicjujemy generator pseudolosowy\n// Przygotowujemy sumy kontrolne nadajnika i odbiornika\ntchksum = rchksum = 0;\nprintf("dane suma     dane suma\_n");\nprintf("     0000          0000\_n");\n// Transmisja --- Zakłócenie --- Odbiór\ntd = rand() % 16;  // dane nadawane\ntchksum += td;     // uaktualniamy sumę nadajnika\ntchksum &= 0xf;    // obcinamy sumę do 4 bitów\nrd = td;           // dane odbierane\nwhile(!(rand() % 16)) // błędy transmisji\nrd ^= 1 << (rand() % 4);\nif(e) printf(" (X) ");\nelse  printf(" (-) ");\nrchksum += rd;     // uaktualniamy sumę odbiornika\nrchksum &= 0xf;    // obcinamy sumę do 4 bitów\nprint4b(rd); printf(" "); print4b(rchksum);\n// Transmisja sumy kontrolnej\ntchksum ^= 1 << (rand() % 4);\nif(tchksum == rchksum) printf("     DANE POPRAWNE\_n\_n");\nelse                   printf("    DANE USZKODZONE\_n\_n");\nProgram wyświetla dane nadawane oraz odbierane. Dodatkowo po przesłaniu każdej danej wyświetlane są sumy kontrolne nadajnika i odbiornika. Jeśli w trakcie transmisji pojawi się błąd, to zostanie wyświetlony napis (X). Jeśli nie było błędu, pojawi się napis (-):\ndane suma     dane suma\n0000 0000 (-) 0000 0000\n1110 1110 (-) 1110 1110\n0010 0000 (-) 0010 0000\n0111 0111 (-) 0111 0111\n1101 0100 (-) 1101 0100\n0100 1000 (-) 0100 1000\n1101 0101 (-) 1101 0101\n1010 1111 (-) 1010 1111\n0010 0001 (-) 0010 0001\n1110 1111 (-) 1110 1111\n0101 0100 (-) 0101 0100\n1000 1100 (-) 1000 1100\n1110 1010 (-) 1110 1010\n0110 0000 (-) 0110 0000\n0101 0101 (-) 0101 0101\n0100 1001 (-) 0100 1001\n1001 (-) 1001 1001\n1000 1000 (-) 1000 1000\n0011 1011 (-) 0011 1011\n1000 0011 (-) 1000 0011\n1001 1100 (-) 1001 1100\n1000 0100 (-) 1000 0100\n0110 1010 (-) 0110 1010\n1111 1001 (X) 1110 1000\n1110 0111 (-) 1110 0110\n0011 1010 (-) 0011 1001\n0110 0000 (-) 0110 1111\n0101 0101 (X) 0111 0110\n1010 1111 (-) 1010 0000\n0101 0100 (-) 0101 0101\n0110 1010 (-) 0110 1011\n1111 1001 (-) 1111 1010\n0010 1011 (-) 0010 1100\n1011 (-) 1011 1100\nAlgorytm tworzenia sum kontrolnych jest zwykle bardziej skomplikowany. Informacje na ten temat znajdziesz w sieci.\nCykliczna kontrola nadmiarowa\nJedną z bardziej popularnych metod zabezpieczania danych przed błędami jest metoda cyklicznej kontroli nadmiarowej CRC (ang. cyclic redundancy check). Polega ona na dołączaniu do danych reszty z dzielenia tych danych przez odpowiednio dobrany dzielnik. Dzielniki dobiera się matematycznie wg kryterium największej skuteczności w wykrywaniu błędów.\nZasadę działania tej metody najlepiej jest zrozumieć na podstawie przykładu:\nZałóżmy, że chcemy przesłać dane 8-mio bitowe: 00110111. Wybieramy dzielnik 4-bitowy 1011.\nZapisujemy dane, a pod nimi dzielnik:\nDo danych dopisujemy 3 bity o stanie 0 (reszta z dzielenia przez 4-bitowy dzielnik jest maksymalnie 3-bitowa):\nDzielnik przesuwamy w prawo, aż nad jego najstarszym bitem o wartości 1 znajdzie się bit 1 danych:\nWykonujemy operację EX-OR na poszczególnych bitach danych i dzielnika. Wynik zapisujemy pod spodem:\nDzielnik zapisujemy pod wynikiem i znów przesuwamy go w prawo aż nad jego najstarszym bitem 1 pojawi się bit 1 danych:\nWykonujemy operację EX-OR i wynik zapisujemy pod spodem:\nKoniec, ponieważ wszystkie bity danych są wyzerowane. Reszta z dzielenia jest w dodanych trzech bitach CRC i wynosi 001. Dołączamy ją do danych i przesyłamy do odbiornika jako: 00110111001.\nJeśli w czasie transmisji nie było błędów, to odbiornik odbierze bity: 00110111001. Wykonuje na nich te same operacje, które wykonywał wcześniej nadajnik:\nZwróć uwagę, że teraz dodatkowe bity CRC wyzerowały się. Jest to znak, że dane zostały odebrane poprawnie.\nZałóżmy, że w trakcie transmisji doszło do dwóch błędów i odbiornik odebrał dwa bity o stanie przeciwnym do nadanego, np.: 00111101001\nObliczenia skończyły się wcześniej, ponieważ wszystkie bity danych zostały wyzerowane. Bity CRC nie wyzerowały się, zatem dane odebrano z błędami.\nPoniżej prezentujemy prostą symulację przesłania danych z CRC napisaną w języku C (Code Blocks):\nSYMULATOR TRANSMISJI Z CRC\nFunkcja wyświetla n bitów liczby x\nvoid printnb(int x, int n)\nint mask = 1 << (n - 1); // maska bitowa:\nFunkcja wyświetla zadaną liczbę spacji\nvoid printns(int n)\nwhile(n--) printf(" ");\nprintf("SYMULATOR TRANSMISJI DANYCH Z CRC\_n");\n// Losujemy dane do wysłania\ntd = rand() & 0x1f;\nprintf("\_nDANE  = ");\nprintf("\_nCRC   = ");\nd = td << 3; // Dołączamy 3 bity 0\n// Wyliczamy CRC dzieląć przez wielomian 1011\nwhile(d & 0xf8)\n// Wyznaczamy pozycję pierwszego bitu 1 w danych\np = 7;\nwhile(!(d & (1 << p))) p--;\n// Pozycjonujemy wielomian na wydruku\nprintns(15 - p);\n// Tworzymy dzielnik\np = 11 << (p - 3);\n// Wyświetlamy dzielnik\n// Modyfikujemy wynik\nd ^= p;\nprintf("\_nWYNIK = ");\ntd = (td << 3) | d;\n// Transmisja z ewentualnymi błędami\nprintf("\_n\_nNADAJNIK --------> ODBIORNIK\_n");\nrd = td;\ne = 0; // Błędy\nfor(i = 0; i < 11; i++)\nif(!(rand() % 8))\nrd ^= (1 << i); // negujemy i-ty bit\nif(e) printf(" ---(X)---> ");\nelse  printf(" ---------> ");\n// Sprawdzenie sumy kontrolnej\nd = rd;\np = 11;\nprintns(27 - p);\nrd >>= 3;\nprintf(" CRC = ");\nif(!d) printf(" ACK\_n\_n");\nelse   printf(" NACK!!!\_n");\nSymulacja jest dwuetapowa. Najpierw generowane są dane 5-bitowe. Następnie nadajnik wylicza dla nich CRC. Dane są łączone z obliczonym CRC i przesyłane. W trakcie transmisji mogą pojawić się błędy przekłamujące odebrane bity. W takim przypadku wyświetlany jest symbol (X). Drgi etap polega na wyznaczeniu CRC odebranych danych. Jeśli CRC zeruje się, to dane zostały odebrane poprawnie i odbiornik wysyła potwierdzenie ACK. Jeśli dla odebranych danych CRC nie zeruje się, to odebrane zawierają błąd i nadajnik wysyła potwierdzenie negatywne NACK.\nSYMULATOR TRANSMISJI DANYCH Z CRC\nDANE  = 10101\nCRC   = 10101000\nWYNIK = 10101101\nNADAJNIK --------> ODBIORNIK\n10101101 ---------> 10101101\nDANE  = 10101 CRC = 000 ACK\nDANE  = 00110\nCRC   = 00110000\nWYNIK = 00110001\n00110001 ---(X)---> 00100001\nDANE  = 00100 CRC = 110 NACK!!!\nKodowanie CRC jest bardzo popularne ze względu na prostotę implementacji. Spotkasz się z nim w sieciach komputerowych oraz przy zapisie/odczycie na dyski twarde. Przy większej ilości bitów danych kod CRC ma długość 16, 32 lub 64 bity. Dzielniki CRC znormalizowano i znajdziesz je w sieci.\nKody korekcyjne mają za zadanie usunąć przekłamania bitów, gdy dojdzie do błędów transmisji. Stosuje się je tam, gdzie nie ma możliwości powtórzenia transmisji danych (np. telewizja cyfrowa) lub powtórzenie nie usuwa błędu (np. porysowany dysk DVD). Kody korekcyjne są zwykle skomplikowane i dokładne omówienie ich wykracza poza ramy tego artykułu. Niemniej możemy podać przykład prostego kodu korekcyjnego, który usuwa przekłamanie 1 bitu w trakcie transmisji. Jest to tzw. kod korekcyjny Hamminga (ang. Hamming's correction code). Kod ten wykorzystuje w specyficzny sposób bity parzystości.\nPokażemy jak skonstruować słowo kodowe. Załóżmy, że chcemy przesłać 4-bitowe słowo danych 1011. Dla 4 bitów danych słowo kodowe będzie zbudowane z 7 bitów. Dodatkowe 3 bity służą do korekcji. Ponumerujmy bity od najmłodszego do najstarszego:\nBity o numerach będących potęgami liczby 2 są bitami kontrolnymi, pozostałe bity są bitami danych:\nWpisujemy w bity danych przesyłane bity kolejno od największego do najmniejszego:\n1 0 1 x 1 x x\nWypiszmy dwójkowo numery bitów, które mają stan 1:\nTeraz w pionowych kolumnach dodajmy bit parzystości (liczba bitów 1 w kolumnie ma być parzysta):\nOtrzymaliśmy kolejne bity kontrolne, które wpisujemy w słowo kodowe:\nDla danych 1011 słowo kodu Hamminga ma postać: 1010101. Słowo to przesyłamy do odbiornika. Załóżmy, że w trakcie transmisji przekłamaniu uległ bit b6 i odbiornik odebrał słowo kodowe:\nWypisujemy dwójkowo wszystkie pozycje bitów o stanie 1, uwzględniając również bity kontrolne:\nWyznaczamy bity parzystości w kolumnach:\nJeśli otrzymamy wszystkie bity 0, to znaczy, że informacja została odebrana bez błędów. W przeciwnym razie otrzymane bity traktujemy jako liczbę dwójkową 1102 = 6, która wskazuje pozycję bitu odebranego błędnie. Ponieważ błąd cyfrowy polega na odebraniu bitu o stanie przeciwnym do nadanego, zmieniamy stan bitu b6 w odebranym słowie:\nUsuwamy bity kontrolne i otrzymujemy przesłaną informację 1011.\nKod Hamminga potrafi naprawić jeden bit w odebranych danych. Gdy liczba błędów może być większa, stosowane są bardziej zaawansowane kody korekcyjne, np. kod Salomona-Reeda (płyty CD/DVD). Są to zagadnienia skomplikowane i zainteresowanych odsyłam do informacji w sieci.\nUART (ang. universal asynchronous receiver-transmitter) jest układem, który służy do szeregowego nadawania i odbioru danych cyfrowych w sposób asynchroniczny. W tego typu układy są wyposażane współczesne mikrokontrolery. UART można zakupić jako samodzielny układ scalony.\nW latach 90-tych wszystkie komputery PC posiadały złącze RS-232 (ang. recommended standard 232), które umożliwiało szeregowe przesyłanie danych. Obecnie standard USB zastąpił je całkowicie i w nowych komputerach nie spotkamy tego złącza. Niestety, komunikacja złączem USB jest dosyć skomplikowana, jednakże za niewielkie pieniądze możesz zakupić konwerter USB–RS-232:\nJeśli będziesz stosował moduły Arduino, to mają one już wbudowany taki konwerter.\nUART przesyła/odbiera bajty danych bit po bicie w sposób szeregowy.\nUkład posiada dwie asynchroniczne linie transmisyjne:\nTx – wyjście danych szeregowych . W stanie nieaktywnym na wyjściu panuje stan wysoki.\nRx – wejście danych szeregowych.\nTransmisja rozpoczyna się od wysłania bitu startowego o stanie 0, po czym wysyłane jest 5...9 bitów danych, ewentualny bit parzystości, a na końcu przesyłany jest bit stopu, który może zostać przedłużony na dowolną liczbę bitów stopu:\nParametry transmisji (liczba bitów danych, bity parzystości, szybkość transmisji) nadajnika i odbiornika muszą być takie same, a ustawia się je w sposób określony przez producenta w dokumentacji układu UART. Gdy odbiornik skompletuje bajt danych, ustawia odpowiedni znacznik informujący, że dane są gotowe do odczytu lub generuje tzw. przerwanie, a w odpowiedzi mikrokontroler odczytuje dane i przetwarza je.\nTransmisja może być prowadzona w jednym kierunku (simplex), w obu kierunkach jednocześnie (duplex) lub na zmianę raz w jednym a raz w drugim kierunku (duosimplex).\nNadajnik po otrzymaniu bajta danych z magistrali wpisuje go do swojego rejestru przesuwającego, po czym przez odpowiedni czas generuje na wyjściu bit startu o stanie niskim, następnie przesuwa dane w rejestrze z odpowiednią szybkością. Wyjście szeregowe rejestru jest połączone z linią Tx. W ten sposób na linii Tx pojawiają się kolejne bity danych od najmłodszego do najstarszego. Gdy cała zawartość rejestru zostanie przesłana, nadajnik generuje bit stopu o stanie wysokim, po czym oczekuje na kolejny bajt danych do przesłania.\nOdbiornik z odpowiednio dużą częstotliwością (przynajmniej 8 razy większą od częstotliwości przesyłania bitów) testuje stan linii Rx. Gdy wykryje stan niski, po okresie bitu startu rozpoczyna cykliczny wpis stanu tej linii do rejestru przesuwającego. Po każdym wpisie dane w rejestrze są przesuwane, w ten sposób tworzony jest bajt. Gdy do rejestru trafią wszystkie bity, odbiornik czeka na bit stopu, po czym sygnalizuje gotowość danych do odczytu. Po odczycie przez mikrokontroler danych odbiornik wraca do trybu oczekiwania na transmisję danych.\nPołączenie dwóch układów UART wygląda następująco:\nJeśli transmisja ma być wykonana na większą odległość, to linie Tx i Rx należy dołączyć do odpowiednich nadajników/odbiorników linii, aby uniknąć zakłóceń.\nOprócz układów do transmisji asynchronicznej produkowane są ich odpowiedniki dla transmisji synchronicznej:\nUSRT (ang. universal synchronous receiver/transmitter) – uniwersalny, synchroniczny nadajnik/odbiornik\nUSART (ang. universal synchronous/asynchronous receiver/transmitter) – uniwersalny, synchroniczny/asynchroniczny nadajnik/odbiornik\nUkładami UART zajmiemy się dokładniej w sekcji poświęconej programowaniu mikrokontrolerów.\nW roku 1982 firma Philips Semiconductor opracowała magistralę, która służy do synchronicznej transmisji danych w obu kierunkach. Transmisja I2C (również I2C lub IIC – ang. inter-integrated circuit) jest bardzo popularna w systemach mikroprocesorowych, spotkasz mnóstwo układów pamięci, wyświetlaczy oraz peryferiów, które wykorzystują magistralę I2C do wymiany informacji. Dlatego powinieneś coś wiedzieć na jej temat. Wiele mikrokontrolerów posiada zaimplementowaną komunikację magistralą I2C, a te, które takich możliwości nie mają, mogą implementować standard I2C programowo.\nOryginalna prędkość transmisji I2C jest równa 100kb na sekundę. opracowano również standardy 400kb (fast mode), 1Mb (fast mode plus) i 3,4Mb (high speed mode) na sekundę. Sam protokół I2C jest dosyć skomplikowany, na szczęście dostępne jest dużo bibliotek dla różnych mikrokontrolerów, które go implementują.\nTransmisja I2C prowadzona jest dwoma liniami:\nSCL – (ang. serial clock) impulsy zegarowe, które synchronizują przesyłanie bitów danych drugą linią,\nSDA – (ang. serial data) dane szeregowe.\nStanem aktywnym jest stan niski, który uzyskuje się przez zwarcie danej linii do masy za pomocą tranzystora z otwartym kolektorem (wersja bipolarna) lub otwartym drenem (wersja polowa). Dzięki takiemu rozwiązaniu dane mogą być przesyłane pomiędzy układami o różnych poziomach zasilania. Do linii można podłączać wiele układów, dlatego nazywane są one magistralą I2C (ang. I2C bus).\nTypowe połączenie magistralą I2C wygląda następująco:\nOporniki R służą do podciągania napięcia na liniach SCL i SDA, gdy nie są one zwierane do masy przez jeden z układów. Tymi samymi liniami magistrali mogą przesyłać dane więcej niż dwa układy:\nW czasie transmisji danych pomiędzy dwoma układami jeden z nich pełni rolę nadrzędną (ang. master), a drugi jest podporządkowany (ang. slave). Sygnał zegarowy na linii SCL zawsze wytwarza bieżący układ nadrzędny. Układ podporządkowany może zwierać ten sygnał do masy, jeśli nie jest gotowy na przesłanie lub przyjęcie danych. Oporniki podciągające R przywracają wysoki stan na liniach I2C, gdy żaden układ nie zwiera ich do masy.\nPrzesłanie danych odbywa się ściśle wg protokołu I2C. Jest on bardziej skomplikowany od protokołu UART, ponieważ do magistrali I2C może być przyłączone wiele układów, zatem przed rozpoczęciem przesłania danych należy określić nadawcę i odbiorcę. Na szczęście większość układów współpracujących z magistralą I2C zawiera już odpowiednią implementację protokołu. Dane na magistrali będziemy nazywać wiadomościami (ang. messages). Wiadomość składa się z dwóch rodzajów ramek (ang. frames):\nramka adresowa (ang. address frame) – układ Master przesyła w tej ramce adres układu Slave, dla którego przeznaczona jest wiadomość.\nramka danych (ang. data frame) – takich ramek może być kilka i są one przesyłane pomiędzy układem Master a układem Slave.\nPojawia się ona w wiadomości zawsze jako pierwsza. Celem tej ramki jest zaadresowanie właściwego układu Slave oraz poinformowanie go o trybie transmisji, tzn. czy ma odbierać, czy przesłać dane w następnych ramkach.\nTransmisję rozpoczyna układ Master przez pozostawienie linii SCL (zegar) w stanie wysokim i ustawienie linii SDA (dane) w stan niski:\nJest to sygnał dla wszystkich układów Slave, że za chwilę rozpocznie się transmisja. Jeśli na magistrali I2C obecnych jest kilka układów Master, to może się zdarzyć, iż dwa lub więcej z nich rozpoczną transmisję. W takim przypadku kontrolę nad magistralą przejmuje ten, który jako pierwszy ustawił linię SDA w stan niski. Protokół I2C obejmuje powtórzenia startu transmisji.\nPo starcie na linia SCL jest ustawiana w stan niski, a na linii SDA są umieszczane kolejne bity danych adresowych, które są odczytywane przez układy Slave przy narastających zboczach impulsów zegarowych na linii SCL. Najpierw przesyłane są bity adresu (zwykle 7 bitów w kolejności od najstarszego do najmłodszego), po nich idzie bit zapisu/odczytu R/W, który informuje zaadresowane urządzenie Slave, czy transmisja danych będzie do niego (zapis, Write), czy też od niego (odczyt, Read). Na końcu przesyłany jest bit potwierdzenia o stanie wysokim. Po przesłaniu 8 pierwszych bitów (7 bitów adresu + bit R/W) układ Master oddaje sterowanie linią SDA układowi Slave, który w bicie potwierdzenia powinien wymusić na tej linii stan niski, co oznacza gotowość na wykonanie operacji:\nPo pozytywnym przesłaniu ramki adresowej układ Master kontynuuje generowanie impulsów zegarowych i są przesyłane ramki danych (ich ilość jest dowolna i zależna od typu komunikujących się układów). Dane na linii SDA są umieszczane przez układ Master przy zapisie lub przez układ Slave przy odczycie (określa to bit R/W w ramce adresowej). Ramki danych przesyłają 8 bitów (od najstarszego do najmłodszego) oraz 9-ty bit potwierdzenia (potwierdza odbiorca):\nGdy transmisja ramek danych zostanie ukończona układ Master ustawia linię SCL w stan wysoki, po czym również ustawia linię SDA w stan wysoki i tak pozostaje do następnej transmisji:\nWięcej na temat protokołu I2C znajdziesz w sieci (adresowanie 10-bitowe, wznawianie transmisji, rozciąganie impulsów zegarowych, itp.). Zagadnienie jest zbyt obszerne, aby opisać je w małym podrozdziale. Podane tutaj informacje potraktuj tylko jako wstęp.\nPełna specyfikacja protokołu I2C.\nOpis magistrali I2C.\nKrótki samouczek I2C.\nSPI (ang. serial peripheral interface bus – szeregowa magistrala dla urządzeń zewnętrznych) jest standardem synchronicznego przesyłania danych opracowanym w latach 80-tych przez firmę Motorola. Transmisja jest w pełni dwukierunkowa i opiera się na modelu Master-Slave. W transmisji może uczestniczyć tylko jedno urządzenie nadrzędne (master). Urządzeń podporządkowanych (slave) może być kilka. Transmisja prowadzona jest za pomocą trzech przewodów. Czwarty przewód służy do uaktywniania urządzeń podporządkowanych:\nZnaczenie sygnałów jest następujące:\nSCLK – (ang. Serial CLocK) impulsy zegarowe synchronizujące transmisję.\nMOSI – (ang. Master Output, Slave Input) wyjście danych z urządzenia Master, wejście danych dla urządzenia Slave.\nMISO – (ang. Master Input, Slave Output) wejście danych dla urządzenia Master, wyjście danych dla urządzenia Slave.\nSS – (ang. Slave Select) uaktywnienie urządzenia Slave.\nJeśli kilka urządzeń podporządkowanych ma być podłączone pod wspólną magistralę SPI, to do każdego z nich należy doprowadzić osobny sygnał SS:\nIstnieje również możliwość łączenia niektórych urządzeń Slave w pierścień z urządzeniem Master.\nTakie rozwiązanie pozwala stosować tylko 4 linie do transmisji SPI. Dane są przesyłane szeregowo od urządzenia Master do pierwszego urządzenia Slave, które następnie retransmituje je do następnego urządzenia Slave, itd. Urządzenie Master musi w tym przypadku zapewnić odpowiednią ilość impulsów zegarowych.\nZasada prowadzenia transmisji jest następująca:\nUrządzenie Master (najczęściej twój mikrokontroler) uaktywnia wybrane urządzenie Slave przez ustawienie jego linii SS w stan niski. Następnie generuje odpowiednią ilość impulsów zegarowych na linii SCLK. Dane zapisywane do urządzenia Slave są przesyłane linią MOSI, a urządzenie Slave przesyła dane do urządzenia Master linią MISO. Przesyłane dane są odczytywane przy dodatnim lub ujemnym zboczu sygnału zegarowego w zależności od wybranego trybu pracy.\nDane przesyłane są na zasadzie rejestrów przesuwających:\nPod wpływem impulsów zegarowych dane w rejestrze Master są przesuwane i wysyłane linią MOSI. Z kolei dane z linii MISO są wpisywane z drugiej strony rejestru. W urządzeniu Slave dane z linii MOSI są wpisywane do rejestru. A dane w rejestrze Slave są przesuwane i wysyłane linią MISO. W ten sposób po 8 impulsach zegarowych (jeśli rejestry są 8-bitowe) dane z obu rejestrów zostaną wymienione między sobą.\nTutaj występuje kilka ustaleń technicznych, które zależą od konkretnego urządzenia SPI. Niestety, nie ma jednolitego standardu i musisz dostosować się do parametrów udostępnianych przez producenta:\nMaksymalna częstotliwość sygnału zegarowego – zwykle kilkanaście MHz. Transmisja SPI została zaprojektowania do wymiany danych na niewielkie odległości (do kilkudziesięciu cm). Jeśli dane musisz przesyłać na większą odległość, to powinieneś zmniejszyć częstotliwość zegara. Czasem będzie konieczne zastosowanie odpowiednich układów nadajnika i odbiornika.\nPolaryzacja sygnału zegarowego (ang. clock polarity) określa, czy impuls zegarowy jest dodatni lub ujemny. Przy polaryzacji dodatniej nieaktywnym stanem linii SCLK jest stan 0. Przy ujemnej jest to stan 1:\nFaza sygnału zegarowego (ang. clock phase) określa krawędź sygnału zegarowego, przy której dane są odczytywane z linii MOSI/MISO oraz krawędź przy której na liniach tych pojawia się kolejny bit danych z rejestrów przesuwających:\nKolejność bitów (ang. bit order) określa sposób, w jaki są przesyłane kolejne bity danych. Możliwości są dwie: od najstarszego bitu do najmłodszego (ang. MSB first) lub od najmłodszego do najstarszego (ang. LSB first).\nLiczba bitów danych zwykle wynosi 8, ale może to być również 16 i więcej.\nSposób komunikacji z konkretnym urządzeniem powinien być zgodny z danymi technicznymi publikowanymi przez jego producenta. Zwykle wygląda to tak, iż urządzenie Master najpierw przesyła linią MOSI 8-bitowy rozkaz, a następnie przesyła tą samą linią dane lub odczytuje dane linią MISO. Niektóre urządzenia SPI tylko przesyłają dane, zatem urządzenie Master inicjuje transmisję, po czym odczytuje linią MISO serię bitów z wybranego urządzenia Slave.\nW Arduino jest odpowiednia biblioteka do komunikacji SPI. Zajmiemy się tym zagadnieniem na kursie programowania konkretnych mikrokontrolerów.


Rafał Majka wygrał w Sierra de la Pandera! | Dziennik Bałtycki\nRafał Majka wygrał w…\nRafał Majka wygrał w Sierra de la Pandera!\nJacek Żukowski 2 września 2017, 17:58\nRafał Majka Anna Kaczmarz\nFantastycznie na 14. etapie wyścigu Vuelta a Espana spisał się Polak.\nKolarz grupy Bora-Hansgrohe popisał się brawurową akcją, którą z sukcesem zakończył na szczycie Sierra de la Pandera, w bazie wojskowej, samotnie przekraczając linię mety. Majka brał udział w odjeździe dziesięciu kolarzy, którzy na 80 km przed metą mieli 8 minut przewagi. Na 20 km czwórka kolarzy z Majką na czele miała 2 min zapasu. Z czasem jednak grupka wykruszyła się, aż w końcu został sam Polak. Gonili go wszyscy najmocniejsi kolarze. Na 10 km przed metą przewaga wynosiła 1,40 min. Droga cały czas wznosiła się, nachylenie dochodziło do 10 procent, ale Majka, który w tym wyścigu przeżywał kłopoty związana z chorobą wirusową nie poddawał się.\nOstatni kilomer wiódł trochę w dół więc było wiadomo, że nasz reprezentant wygra. 27 sekund po nim finiszował Kolumbijczyk Miguel Angel Lopez, trzeci był Vincenzo Nibali, a czwarty lider wyścigu Christopher Froome (obaj 31 s za zwycięzcą).\nTo trzecie zwycięstwo Polaka podczas tego wyścigu, wcześniej dwa etapy wygrał Tomasz Marczyński. Liderem pozostał Froome.\nMateriał oryginalny: Rafał Majka wygrał w Sierra de la Pandera! - Gazeta Krakowska\nNOWE Czy na Pomorzu są korki? Raport drogowy z 21.09.2021 07:00. Sprawdź ruch na Pomorzu. Czy będziesz czekał na bramkach autostrady A1?\nNOWE 46 FPFF. Niewiarygodna wiarygodność thrillera\nPierwszego dnia 46 Festiwalu Polskich Filmów Fabularnych między Teatrem Muzycznym a Centrum Filmowym rozkładano dwa czerwone dywany i o mały włos na jeden z...\nNOWE Nowoczesna sala do terapii w kościerskim Powiatowym Centrum Pomocy Rodzinie pomaga dzieciom z trudnościami\nTerapia sensoryczna jest szansą dla dzieci, które mają m.in. problemy z koncentracją. W Kościerzynie powstała nowoczesna sala, która umożliwia prowadzenie...\nsala sensoryczna Kościerzyna\nterapia sensoryczna Kościerzyna


Technologia w służbie architektury – Guardian udostępnia obiekty BIM - Czas Pomorza - Informacyjny Portal Pomorski\nINNOWACJE. Dostosowanie własnej oferty do dynamicznie rozwijającej się branży budowlanej i wspieranie innowacyjnych procesów stanowi jeden z kluczowych elementów działalności firmy Guardian. Wychodząc naprzeciw wymaganiom rynku, producent stworzył obiekty BIM dla wszystkich szkieł wytwarzanych w Europie.\nModelowanie informacji o budynku (BIM) to jeden z najciekawszych i najbardziej rewolucyjnych trendów w projektowaniu i realizacji obiektów architektonicznych. Technologia parametrycznego modelowania, w dużym uproszczeniu, pozwala na stworzenie wirtualnego modelu budynku\ni testowanie na nim różnych wariantów inwestycji, celem wybrania najbardziej optymalnego rozwiązania. Możliwość ta dotyczy zarówno samej koncepcji obiektu, jak i doboru właściwych materiałów do jego budowy.\n– Proces opracowywania oraz realizacji projektów architektonicznych coraz bardziej się zmienia i udoskonala – powiedział Tomasz Gelio, Dyrektor marketingu Guardian Częstochowa. – Rośnie również zapotrzebowanie na odpowiednie materiały szklane, które będą wspierane przez obiekty BIM. Firma Guardian, jako lider produkcji szkła do zastosowań w budownictwie, wyszedł naprzeciw oczekiwaniom rynku i stworzył obiekty BIM dla wszystkich swoich europejskich produktów. Dzięki temu możemy dostarczać inwestorom nie tylko optymalnie dopasowane szkło, ale także wsparcie na każdym etapie projektu: od tworzenia specyfikacji, aż do budowy.\n– W technologii BIM dostępne są kluczowe produkty przeznaczone do budownictwa komercyjnego: bezbarwne, odprężone szkła float, szkła powlekane, takie jak SunGuard® i ClimaGuard®, a także szkła laminowane – wyjaśnia Tomasz Gelio. – Utworzone zostały również modele innych produktów np. szkieł dekoracyjnych takich jak SatinDeco®, które można wykorzystać przy tworzeniu wewnętrznych balustrad czy ścianek działowych.\nNastępny artykuł Po kompozycie na drugą stronę drogi. Kładka z materiałów z recyklingu\nPoprzedni artykuł Waniek o Komorowskim: Unię wymiotła ze sceny politycznej przesadna pewność siebie


Czesi chcą opuścić UE! "To jedyna droga by ocalić nasz kraj" (WIDEO) | Reporters.pl\nByły prezydent Czech Vaclav Klaus wydał oświadczenie, w którym wzywa do rozpoczęcia działań zmierzających do opuszczenia UE. “Nadszedł czas, aby przygotować wyjście naszego kraju z Unii Europejskiej” – apeluje były czeski przywódca.\n“Stanowczo protestujemy przeciwko niedopuszczalnemu traktowaniu Czech przez Unię Europejską, przeciwko wprowadzanym przeciwko nam unijnym procedurom za odmowę przyjmowania kwot imigrantów narzuconych przez Brukselę. Protestujemy przeciwko karaniu nas i zmuszaniu nas do posłuszeństwa” – podkreśla Vaclav Klaus.\nJego zdaniem, takie działania “pokazują jaki jest rzeczywisty status Czech w UE i jakie są prawdziwe intencje jej liderów”. “Odmawiamy przekształcenia naszego kraju w multikulturowe społeczeństwo, złożone z grup, które się nie asymilują, jak to widzimy we Francji czy Wielkiej Brytanii. To prowadzi do aktów terroru, które są już codziennie” – przypomina były czeski prezydent.\n“Odrzucamy argument, że musimy być częścią Unii Europejskiej, że musimy być obecni tam, gdzie podejmowane są decyzje, w tzw. “twardym jądrze UE”. Teraz też jesteśmy przy tym obecni, ale to nie my te decyzje podejmujemy. Nasza obecność jest bez znaczenia, nasz głos jest ignorowany. Decyzje są podejmowane bez konsultacji z nami. Decyduje się o nas bez nas” – mówi Klaus.\nOstrzega też, że Czesi “nie pozwolą się szantażować groźbami odebrania unijnych dotacji”. “Nie potrzebujemy i nie chcemy ich. Nie chcemy dotacji z Brukseli i nie chcemy wpłacać do Brukseli” – podkreśla były prezydent.\n“Odrzucamy tę wyniszczającą politykę, do której siłą zmusza nas UE. Jest tylko jedno wyjście z tej sytuacji: musimy zacząć przygotowywać opuszczenie przez nasz kraj Unii Europejskiej. To jedyna droga aby obronić nasze państwo, które odziedziczyliśmy po naszych przodkach i które mamy obowiązek zachować dla przyszłych pokoleń” – podkreśla były czeski przywódca.\nPrzypomnijmy, że w tym tygodniu Komisja Europejska ogłosiła rozpoczęcie procedur o rzekome naruszenie prawa UE przez Polskę, Węgry i Czechy, które odmawiają zgody na przyjmowanie uchodźców. W praktyce ukaranie naszych państw nie będzie takie proste, ale sam fakt grożenia nam przez unijnych biurokratów jest niedopuszczalny.\nDodajmy, że Vaclav Klaus, który kieruje własnym Instytutem, cieszy się wielką popularnością w czeskich środowiskach narodowych. Jego oświadczenie jest więc zapewne początkiem zbierania podpisów pod wnioskiem o ogłoszenie w kraju referendum w sprawie wyjścia Czech z Unii.\nTagi: Bruksela, Czechy, dyktatura, imigranci, referendum, skandal, Unia Europejska


Kanapki dla uchodźców z Ukrainy - kolorowe, chrupiące i zdrowe - Czwórka - polskieradio.pl\nOstatnia aktualizacja: 09.03.2022 22:10\nCoraz więcej z nas angażuje się w pomoc dla uciekających przed wojną Ukraińców. Wiele instytucji udostępnia swoje wnętrza potrzebującym i tym, którzy pomocy udzielają. Pałac w Wilanowie zaoferował przestrzeń, która zamieniła się ostatnio w manufakturę kanapek. Potrzebne są jednak produkty.\nCodziennie w Muzeum Pałacu Króla Jana III w Wilanowie wolontariusze przygotowują ponad tysiąc kanapek dla uchodźców z UkrainyFoto: shutterstock/baibaz\nKanapki z Pałacu w Wilanowie\nLiczą się każda para rąk i chęci. Szybko powstają - kanapki z serem, szynką, warzywami - aby jak najwięcej i najszybciej trafiły do tych najbardziej potrzebujących. Ponad tysiąc kanapek jednego dnia przygotowują wolontariusze z Pałacu w Wilanowie. Angażują się nie tylko profesjonaliści, ale także ci, którzy mają chwilę wolnego. Na stanowiskach jest podział pracy, są między innymi osoby, które zajmują się przygotowaniem produktów, które są wkładane do kanapek.\nGdy ich zaczyna brakować myją, wycierają i kroją. - Była papryka, są rzodkiewki i oliwki. Korzystamy z tego, co przyjechało i co nam dostarczono. Staram się produkty przygotować tak, żeby praca przy stole kanapkowym szła szybciej. Zajmuję się tzw. "prep" - mówi jedna z wolontariuszek Marieta Marecka. - Szefowie kuchni oddali nam sporą część powierzchni. Zarządzają, ale też pomagają, a że mają doświadczenie, od razu wszystko idzie sprawniej. Mamy super przestrzeń i fajnych ludzi dookoła.\nRóżnorodnie i sycąco\nTempo prac ma znaczenie, bo na odbiór kanapek czekają już wolontariusze, którzy przewożą je dalej. Jakość kanapek zależy od dobrej woli i hojności osób, które dostarczają towar. Potrzebne jest wszystko, co sprawi, że będą smaczne i sycące. Im więcej produktów, tym więcej ich powstanie.\n- Praca wre od 9 rano. Kanapek powstaje cała masa. Jak się rozpędzimy, to w pięć godzin udaje nam się zrobić tysiąc kanapek - mówi Maria Tamarecka. - Kanapki trafiają do różnych miejsc, także na granicę.\nKanapki są różnorodne. Teraz akurat trwa okres postu na Ukrainie, więc specjalnie powstają przysmaki dla osób, które nie jedzą mięsa. Są więc kanapki wegańskie i z serem, ale na bogato, bo i z sałatą, papryką, ogórkiem. - Wszystko jest. Dbamy o to, żeby to były kanapki, które sami chcielibyśmy zjeść - zaznacza Maria. - Ma być kolorowo, chrupiąco, zdrowo i ma być dużo warzyw. Staramy się dobrze wykorzystać wszystko, co do nas trafia.\nMimo pośpiechu jest także wprowadzona kontrola jakości, bo chodzi o to, żeby każdy kęs był pyszny. Nie tylko dostawcy, ale również osoby przygotowujące kanapki przynoszą składniki do ich produkcji. - Cały czas walczymy o to, żeby większe firmy nas wspomogły, bo schodzi naprawdę dużo produktów - mówi Maria Tamarecka. - W ciągu godziny możemy przerobić nawet 40 bochenków chleba. Najwięcej pomocy i produktów w dalszym ciągu trafia od osób prywatnych.\nPrzydział dla każdego\nGotowe kanapki trafiają do różnych punktów, m.in do jednego z hoteli, gdzie zakwaterowane są matki z dziećmi. - Jest tam kilkaset osób. Kolejne miejsca to punkty recepcyjne na warszawskim Torwarze. Kanapki też są pakowane próżniowo i jadą na przejście graniczne. Tam są rozdzielane, aby jako suchy prowiant mogły być zabrane w dalszą drogę - mówi Marcin Nowicki z Pałacu w Wilanowie. Jednocześnie zapewnia, że kanapki będą robione tak długo, jak długo będą produkty.\nZobacz więcej na temat: Czwórka Ukraina pomoc uchodźcy wojna na Ukrainie Czwórka Ukraina Piotr Firan Marta Hoppe jedzenie\nDziesiątki tysięcy Ukraińców na polskim rynku pracy. To duże wyzwanie dla nich i polskich pracodawców\nOstatnia aktualizacja: 01.03.2022 19:34\nDo Polski napływa coraz więcej uchodźców z ogarniętej wojną z Rosją Ukrainy. Jakie są możliwości zatrudnienia jej obywateli w naszym kraju, mówiła w radiowej Jedynce Agnieszka Zielińska, dyrektor Polskiego Forum HR.\nNiektóre wyliczenia mówią o ok. 700 tysiącach Ukraińców pracujących już w Polsce.Foto: Shutterstock\n05'04 Jakie są możliwości zatrudnienia obywateli Ukrainy w Polsce, mówiła w radiowej Jedynce Agnieszka Zielińska, dyrektor Polskiego Forum HR./Justyna Golonko/.\nKwestią pracy dla przebywających w Polsce obywateli Ukrainy zajmuje się też rząd. Jak zapewnia minister Maląg, rząd wprowadzi rozwiązania ułatwiające zatrudnianie Ukraińców w Polsce. Czekają na nie obywatele Ukrainy oraz polscy pracodawcy.\nW Polsce działa już system pozwalający na szybkie zatrudnienie Ukraińców\nJak zaznacza gość Polskiego Radia, w Polsce działa już bardzo sprawnie procedura, która pozwala na podejmowanie pracy w bardzo szybkim trybie obywatelom Ukrainy.\n05:04 justa 0103.mp3 Jakie są możliwości zatrudnienia obywateli Ukrainy w Polsce, mówiła w radiowej Jedynce Agnieszka Zielińska, dyrektor Polskiego Forum HR./Justyna Golonko/.\n- Wnioski w tej sprawie są rozpatrywane bardzo szybko i system działa bardzo efektywnie - mówi Agnieszka Zielińska.\nRozwiązania wymaga kwestia pracy dla uchodźców. Taki status nie pozwala na pracę\nJednocześnie dodaje, że obecnie najważniejszą kwestią jest legalizacja pobytu osób wjeżdżających do Polski.\n- Wiemy, że tylko niewielka część składa wnioski o przyznanie statusu uchodźcy, gdyż nie daje on prawa do pracy w Polsce. Duża część osób wjeżdża do Polski na podstawie zgody komendanta Straży Granicznej i wtedy ich pobyt jest legalny w Polsce przez 15 dni - mówi ekspert.\nZalegalizowany pobyt ułatwia podjęcie pracy\nDodaje jednocześnie, że jeśli każda przybywająca do Polski osoba będzie miała zalegalizowany pobyt, to agencje zatrudnienia i pracodawcy mają szereg rozwiązań pozwalających na wsparcie w procesie zatrudnienia.\nUkraińcy na polskim rynku pracy. Ekspert: możemy przyjąć kolejne 700 tysięcy pracowników z tego kraju\nTrzeba pamiętać, że oferta pracy musi uwzględniać sytuację życiową pracowników – wielu nie mówi po polsku, ma pod opieką dzieci\nTyle że, jak zauważa ekspert, trzeba wziąć pod uwagę specyficzne cechy osób z Ukrainy szukających pracy – wiele z nich nie mówi po polsku, wiele kobiet przybywa do Polski z dziećmi, stąd potrzebne będzie specjalne dopasowanie ofert pracy dla nich.\nTrzeba też pamiętać, że w Polsce znajdzie się młodzież w wieku szkolnym oraz dzieci wymagające opieki przedszkolnej, co też będzie wyzwaniem dla władz i samorządów.\nEkspert pytana, jak dużo pracowników z Ukrainy jest w stanie wchłonąć polski rynek pracy, mówi, że niektóre wyliczenia mówią o ok. 700 tysiącach pracowników.\n- Trzeba pamiętać, że polski rynek pracy zmagał się z dużym deficytem kandydatów do pracy o określonych kwalifikacjach. Mamy bardzo dużo ofert pracy prostej – w przemyśle. Jest pytanie, jak to dopasowanie kompetencyjne będzie wyglądało – mówi gość radiowej Jedynki.\nZobacz więcej na temat: GOSPODARKA rynek pracy Ukraina praca\nW ucieczce przed wojną. Polska to tylko przystanek\nOstatnia aktualizacja: 08.03.2022 22:30\nDla wielu uchodźców Polska stanowi tylko pewien etap w ich drodze. Po dwudniowej podróży pociągiem Ksenia i jej 10-letnia córka Sara zatrzymały się na kilka dni w Warszawie. Jednak nie planują tu zostać na dłużej. Jadą do Francji, a w organizację tej podróży zaangażowało się kilkoro Polaków.\nUchodźcy z Ukrainy - dla niektórych Polska jest tylko przystankiemFoto: shutterstock/Bumble Dee\nLiczba uchodźców z Ukrainy przekroczyła milion osób. Zdecydowana większość z nich została w naszym kraju, ale też są tacy, którzy udają się w dalszą podróż do innych krajów Unii Europejskiej. Tak było w przypadku Kseni i jej 10-letniej córki Sary. Polska stała się dla nich przystankiem w drodze do lepszego i spokojniejszego życia.\nMatka i córka, wraz ze swoim przyjacielem kotem Żenią, w ucieczce przed wojną przebyły ponad 1600 km. Jednak to nie koniec ich podróży. Wyruszyły z miasta Dniepr w całkowitych ciemnościach. Z wyłączonymi telefonami i pociągiem, który rozpędzał się i jechał na luzie - i tak przez całą drogę do granicy. - Jest zagrożenie, że taki pociąg, gdy zostanie zaobserwowany przez samolot, może zostać zniszczony - tłumaczy rozmówca Oliwii Krettek. - Jedzie więc tak, żeby nie było go widać.\nGdy uchodźcy nie mają nikogo z rodziny ani znajomych w Polsce, muszą zaufać obcym osobom. Tym razem Ksenia i jej córka zaufały rodakowi, który przywiózł je do Warszawy. Chociaż, jak podkreślał Maks, nie obyło się bez wątpliwości, a Ksenia kilkakrotnie pytała, czy nie jest bandytą. Po przyjeździe do stolicy miały trzy dni na odpoczynek i regenerację, a potem zaczęły poszukiwania kolejnych osób, które mogą pomóc w dalszej podróży. Ich celem bowiem jest Francja. - Jednak biletów na samolot brak, a na autobus zostały tylko najdroższe. Na szczęście pojawił się transport leków z Francji, który po ich zostawieniu będzie jechał z powrotem i mogą zabrać kilka osób - mówi Oliwia Krettek.\nPojawia się wiele osób, które zajmują się koordynacją takich przejazdów. Warto więc - jak zaznacza nasza reporterka - pisać na grupach, sprawdzać ogłoszenia nie tylko na stronach polskich, ale także zagranicznych. Weronika Kozyra-Brzezik jest jedną z tych, które nieustannie działają na grupach francuskich i polskich. Łączy potrzebujących z tymi, którzy na te potrzeby mogą odpowiedzieć. - Zachód tak samo jak i my jest bardzo przejęty tą sytuacją. Ogłoszeń jest mnóstwo i naprawdę w każdym regionie Francji coś się da znaleźć - mówi. - Nawet jeśli nie jest to punkt docelowy, zawsze jest się bliżej.\n05:05 Czwórka/Czat Czwórki - Polska to tylko przystanek 08.03.2022.mp3 Oliwia Krettek o pomocy dla uchodźców z Ukrainy (Czat Czwórki/Czwórka)\nUchodźców podróżujących dalej jest więcej, poszukiwane są więc do współpracy osoby, które znają języki obce, w tym francuski i hiszpański. Brakuje także osób mówiących po ukraińsku i rosyjsku. Takie osoby potrzebne są na granicy, gdzie pojawia się problem z komunikacją między uchodźcami a wolontariuszami.\nZobacz więcej na temat: Czwórka Ukraina wojna na Ukrainie Czwórka Ukraina Piotr Firan Oliwia Krettek uchodźcy


bakarivichan - Joe Monster.org - Joe Monster\nbakaRivichan Bojowniczka (Rivien Kazuki ) wyślij cześka\n1 243 · 134 216x · 17 · ponad 5 lat temu\n505 · 120 142x · 40 · ponad 5 lat temu\n682 · 139 800x · 48 · ponad 5 lat temu\n1 152 · 96 896x · 26 · ponad 5 lat temu\n1 473 · 153 156x · 45 · ponad 5 lat temu\n741 · 226 965x · 34 · ponad 5 lat temu\n1 487 · 312 556x · 46 · ponad 5 lat temu\n8 faktów, które prawdopodobnie nie przydadzą ci się do niczego\nOto garść wiedzy niepotrzebnej, która do niczego Ci się nie przyda. No, chyba, że chcesz przyszpanować przed dziewczyną...\n797 · 122 509x · 25 · ponad 5 lat temu\nLesya i Rouslan - historia wielkiej miłości\nZdjęcie Rosjanki o imieniu Lesya (po polsku Lesia?) obiegło portale społecznościowe na całym świecie. Powodem nie jest bynajmniej jej uroda, a tatuaże, które zrobiła sobie na całej twarzy. Chcecie się…\n587 · 194 337x · 159 · ponad 5 lat temu\n1 118 · 178 084x · 31 · ponad 5 lat temu\n109 · 14765x · 27 · ponad 5 lat temu\nSteve Irwin ugryziony przez węża\nJeden z pierwszych telewizyjnych występów Steve'a. Spokój i opanowanie godne największego mistrza.\n1139 · 99112x · 125 · ponad 5 lat temu\n470 · 81161x · 72 · ponad 5 lat temu\n3602 · 273908x · 216 · ponad 5 lat temu\n2365 · 162709x · 265 · ponad 5 lat temu\n6 rzeczy, których nie zauważymy czytając gazetę\nBelgowie próbują odwrócić uwagę reklamodawców od czytanej przez nich gazety. Ciekawa i zaskakująca reklama.\n1128 · 93623x · 54 · ponad 5 lat temu\nOd chłopaków było już kilka odcinków o tym, kto co mówi. Teraz coś, czego nie usłyszycie z ust żadnego Polaka.\n1403 · 129024x · 108 · ponad 5 lat temu\n"We Love Russia" - kompilacja 2012\nKolejna porcja niezwykłości prosto z Rosji.\n640 · 113277x · 76 · ponad 5 lat temu\nTriumf intelektu nad siłą\nCzyli kolejny niepozorny uczeń zaskakuje silniejszego kolegę.\n549 · 84041x · 49 · ponad 5 lat temu\n1832 · 90647x · 189 · ponad 5 lat temu\nNigdy nie dokończyłem nicz\n9 · 1297x · przed dinozaurami\n16 · 1912x · 1 · przed dinozaurami\nTechnoviking z KFC\n8 · 1761x · 1 · przed dinozaurami\n22 · 1164x · 2 · przed dinozaurami\n4 · 1050x · 1 · przed dinozaurami\nby Zoro82 · Dodano: ponad 5 lat temu · 5 662x · Komentarzy: 5 · www.regiofutbol.pl\nIlu ludzi jest aktualnie w kosmosie?\nZastanawiałeś się kiedyś ile osób znajduje się w kosmosie? Cóż, teraz już wiesz... więcej »\nby whtvr · Dodano: przed dinozaurami · 19 533x · Komentarzy: 18 · www.howmanypeopleareinspacerightnow.com\nŻółw wielkości winogrona\nSpotykając na swej drodze niewielkie winogrono, większość zwierząt zjadłaby je na miejscu. Dla malutkiego żółwia Tima byłby to nie mały problem. Wszystko dlatego, że... więcej »\nby adiectus · Dodano: przed dinozaurami · 6 794x · Komentarzy: 4 · www.nieziemskie.com\nNajwiększe jajo, monstrualny królik i nie tylko. więcej »\nby nekta · Dodano: przed dinozaurami · 7 186x · Komentarzy: 1 · szybkajazda.pl


pearl string stringi - Kup pearl string stringi z bezpłatną wysyłką na AliExpress version\nGorące promocje na pearl string stringi\nŚwietna wiadomość! Jeśli szukasz produktów z kategorii pearl string stringi, jesteś we właściwym miejscu. Pewnie już wiesz, że na AliExpress znajdziesz wszystko, czego szukasz. Mamy tysiące super produktów z dosłownie każdej kategorii. Luksusowe marki, przeceny, ekonomiczne oferty hurtowe... AliExpress ma wszystko!\nAliExpress zawsze stara się oferować najlepszy wybór, jakość i cenę. Każdego dnia znajdziesz nowe oferty dostępne tylko przez Internet, zniżki w sklepach i możliwość zaoszczędzenia jeszcze więcej poprzez zbieranie kuponów. Niekiedy warto się pospieszyć, bo top produkty w kategorii pearl string stringi bardzo często szybko się wyprzedają. Wszyscy znajomi będą Ci zazdrościć, kiedy powiesz im, że najlepsze produkty z kategorii pearl string stringi masz z AliExpress. Niskie ceny, tania wysyłka i lokalne opcje odbioru - dzięki nim możesz oszczędzić jeszcze więcej.\nA co jeśli nadal masz wątpliwości dotyczące kategorii pearl string stringi? AliExpress to świetna platforma do porównywania cen i sprzedawców. Pomożemy Ci ustalić, czy warto zapłacić więcej za produkt z górnej półki, czy dostaniesz równie dobrą ofertę, kupując tańszy produkt. A jeśli masz ochotę zdecydować się na najdroższą wersję, AliExpress zapewni najlepszą jakość w najlepszej cenie. Damy Ci nawet znać, kiedy możesz spodziewać się promocji i ile możesz zaoszczędzić.\nA jeśli dopiero zaczynasz korzystać z AliExpress, zdradzimy Ci sekret. Tuż przed kliknięciem przycisku „kup teraz” poświęć chwilę na sprawdzenie kuponów - a zaoszczędzisz jeszcze więcej. Znajdź kupony sklepu, kupony AliExpress lub zbieraj je każdego dnia, grając w gry w aplikacji AliExpress. Ponieważ większość naszych sprzedawców oferuje bezpłatną wysyłkę, otrzymujesz produkty z kategorii pearl string stringi w jednej z najlepszych cen online.\notworzyć sexi stringi


Duże studio w Lucernie | Schatzturm I - Allmend HITrental\nCiesz się komfortem w tym stylowym apartamencie wypoczynkowym z balkonem.\nWyposażony apartament wakacyjny "Schatzturm I" oferuje wyjątkowy komfort na 31m2. W apartamencie dostępne są w sumie cztery miejsca do spania. Wieczorem można gotować we własnej kuchni i jeść razem z bliskimi. W kąciku kuchennym znajdują się dwie płyty grzewcze z ceramiki szklanej, kuchenka mikrofalowa, ekspres do kawy oraz wszystkie niezbędne naczynia kuchenne. W łazience znajduje się prysznic, toaleta, suszarka do włosów, ręczniki i przybory toaletowe. Apartament posiada również własny balkon.\nWi-Fi internet, telewizor, pościel, ręczniki oraz korzystanie z pralek i suszarek na parterze wliczone są w cenę naszego umeblowanego apartamentu. W garażu przy garażu publicznym można skorzystać z miejsca parkingowego za dodatkowa opłatą.


Uszczelnienie balkonu płynnym plastikiem - bez barier Czytaj Więcej\nGłówny bez barier Uszczelnienie balkonu płynnym plastikiem\nBalkon powinien być ciasny. W przeciwnym razie woda wniknie w tkankę budowlaną i na dłuższą metę nie przyniesie żadnej korzyści. Płynny plastik to sprawdzony materiał do uszczelniania. Dlaczego to jest dobre i jak to zrobić, tak tutaj jest napisane.\nŁadny balkon © Iriana Shiyan, podłoga.cegła suszona na słońcu.com\nPłynne tworzywa sztuczne nie zostały wynalezione do balkonów, ale od dawna sprawdzają się w uszczelnianiu dachów płaskich. Więc w pewnym momencie sensowne było przeniesienie tego na balkony i tarasy. Jest ku temu wiele dobrych powodów.\nWiele dobrych powodów, dla których warto uszczelniać tworzywa sztuczne\nNa przykład jest to Wysokość konstrukcji. Często nie masz dużo miejsca, np. ze względu na dolną krawędź drzwi wejściowych, a to zaleta, jeśli nie potrzebujesz więcej niż kilka milimetrów na uszczelkę. Po drugie, jest kilka trudnych Detale jak odpływy deszczowe lub słupki balustrad. Są to newralgiczne punkty uszczelnienia i właśnie tam najlepsze rezultaty można osiągnąć stosując płynny uszczelniacz, który pokrywa każde złącze i sam tworzy jednorodną warstwę.\nDo tego balkony są spore Wahania temperatury może być narażony. Materiał działa, tworzą się pęknięcia. Prawidłowo przetworzona, płynna uszczelka z tworzywa sztucznego może wytrzymać to wszystko przez wiele lat. Elastycznym rozwiązaniem jest płynny plastik, ale także optycznie – można zastosować atrakcyjną optycznie wierzchnią warstwę wiele opcji projektowych zastosuj lub możesz zastosować inny dodatek. Wtedy płynny plastik spełnia tylko techniczny cel uszczelnienia.\nDobre powody dla płynnego uszczelniacza z tworzywa sztucznego Wskazówka: Co musisz wziąć pod uwagę, zanim zaczniesz\nNajlepiej pozostać „w systemie”, czyli zaopatrzyć się we wszystkie niezbędne komponenty u tego samego producenta. Są wtedy dokładnie skoordynowane ze sobą.\nDokładne przestudiowanie metody przetwarzania jest szczególnie ważne w przypadku płynnego plastiku, ponieważ producenci ustalają różne specyfikacje. I powinieneś się ich trzymać.\nZ płynnym plastikiem masz do czynienia z lepką masą, która bywa nieprzyjemna. Wskazane jest stosowanie cienkich rękawic roboczych.\nNiektóre materiały muszą stwardnieć przed nałożeniem kolejnej warstwy. Hydroizolacji balkonu nie da się wykonać „za jednym zamachem”.\nPierwszym krokiem jest zrobienie gładkości Pod ziemią. Często trzeba usunąć płytki lub inne okładziny, a następnie szlifować powierzchnię na gładko szlifierką kątową z tarczą diamentową. Zalecana jest maska na twarz, ponieważ resztki kleju są czasami piaskowane, co może skutkować niezdrowym kurzem.\nFirmy specjalizujące się w balkonach\nWskazówka: Znajdź najtańsze regionalne firmy specjalizujące się w balkonach, porównaj oferty i oszczędź do 30%. Zapytaj teraz bez zobowiązań\nOpieka jest koniecznością\nWszelkie pęknięcia lub dziury należy następnie zaszpachlować drobnoziarnistym wypełniaczem – który należy stosować na zewnątrz. Po utwardzeniu obszary te są ponownie szlifowane. Im staranniej zapewnisz gładką powierzchnię, tym łatwiejsze są dalsze etapy pracy.\nPrzed nałożeniem pierwszej warstwy krawędzie zaklejamy taśmą PCV. Zapewnia to czyste przejścia, a także zalecane są słupki balustrad i inne elementy specjalne. Taśma krepowa, której zwykle używa się do malowania, nie jest tak dobrze dopasowana, choćby dlatego, że jest zwykle bardzo wąska.\nA później Elementarz stosowany. Niektórzy producenci radzą sobie bez podkładu w swoich systemach, dla niektórych zależy to również od materiału bazowego. Niektóre oferują podkłady dwuskładnikowe, które należy wymieszać przed obróbką, inne są gotowe do użycia. W każdym razie podkłady są bardzo cienkie i najlepiej nakładać wałkiem malarskim. Pędzel stosuje się w narożnikach i przejściach – wszędzie tam, gdzie wałek nie obejmuje całej powierzchni.\nUszczelnianie balkonu płynnym tworzywem sztucznym: etapy pracy\nPotem zwracasz się do tego runo do, który jest włączony do hydroizolacji. Ma na celu zapobieganie pękaniu hydroizolacji. Niektórzy producenci deklarują, że ich system nie potrzebuje takiego polaru. Inni mówią, że jeśli chcesz być po bezpiecznej stronie, zabuduj taki polar.\nJeśli zdecydowałeś się na system z polarem, teraz wycinasz wszystkie elementy, które są niezbędne do krawędzi, otworów i innych detali. Ponieważ płynny plastik musi być później szybko przetworzony, ważne jest wcześniejsze przygotowanie tych kawałków. Ponieważ czasami naprawdę trudno jest znaleźć pasujący element - nie powinno być presji czasu. Polar można łatwo przyciąć zwykłymi nożyczkami domowymi.\nTeraz nakładany jest płynny plastik. Jest to również dostępne w dwa składniki i gotowy do użycia. Do aplikacji można użyć pędzla lub wałka, ale także pacy do wygładzania. Zaczyna się od krawędzi i przejść. Tu nakładasz plastik, bierzesz przygotowany kawałek flizeliny, nasączasz płynnym plastikiem i wciskasz w nałożony plastik. Ważne jest, aby był w pełni zintegrowany z tworzywem sztucznym.\nDuże obszary są teraz przetwarzane w ten sam sposób. Ważne jest, aby plastik był nałożony mniej więcej tej samej grubości na całość. Przed tym krokiem powinieneś dokładnie przemyśleć kolejność, w jakiej pokrywasz podłogę - w przeciwnym razie znajdziesz się w miejscach, do których nie możesz już dotrzeć lub stoisz w kącie i nie możesz już dostać suchych stóp z balkonu.\nDo tego czasu powinieneś przetworzyć około dwóch trzecich całkowitej ilości płynnego plastiku, reszta jest następnie nakładana natychmiast. Odbywa się to „mokro na mokro”, więc pierwsza warstwa nie może być jeszcze sucha. Ogólna zasada dla Wymagania materiałowe: Nawiasem mówiąc, na warstwę o grubości dwóch milimetrów potrzeba łącznie około dwóch kilogramów płynnego plastiku na metr kwadratowy.\nPrzed nałożeniem płynnego plastiku należy podjąć decyzję, czy balkon ma mieć widoczną powierzchnię wykonaną z płynnego plastiku, czy preferowany jest inny materiał. Drewnianą podłogę lub płytki można przykleić do płynnego plastiku za pomocą odpowiedniego kleju. Jednak ze względu na przyczepność wskazane jest posypanie płynnego tworzywa piaskiem kwarcowym przed stwardnieniem i odessanie nadmiaru piasku po jego wyschnięciu.\nNa plastikowej uszczelce można zainstalować dowolną inną wykładzinę podłogową © Creativmarc, fotolia.com\nAlternatywą jest teraz jeszcze jedna Warstwa nośna z uszczelnieniem podnieść. Przede wszystkim gwarantuje to, że nogi krzesła i inne rzeczy nie uszkodzą faktycznej uszczelki. Po raz kolejny mamy do czynienia z materiałem składającym się z dwóch komponentów, ale także z materiałów gotowych do użycia. Nakłada się je ponownie za pomocą pacy wygładzającej lub wałka. Tutaj naprawdę sprowadza się do uzyskania całkowicie gładkiej powierzchni.\nDo projektowania powierzchni można posypać różne materiały – jak dokładnie, to znowu różni się w zależności od producenta. W każdym razie w ten sposób można zrealizować szeroką gamę kolorów i wzorów. Suplementy poprawiają również antypoślizgowość i antypoślizgowość. Wskazane jest, aby nie wchodzić na wykończoną powierzchnię trochę dłużej niż zalecają producenci – jeśli przyjedziesz o chwilę za wcześnie, ryzykujesz na podłodze pamiątkę, której nie będziesz mógł się pozbyć aż do następnego remontu.\nWskazówka: Możesz również przeczytać nasz artykuł Ponowne uszczelnianie balkonów – bezpieczne odprowadzenie wody\nDAS HOUSE Marzec 2020: Tematy nowej edycji\nKoszty remontu starego budynku”,\nKup dom lub mieszkanie wakacyjne w Szwajcarii ”,\nSzlifowanie parkietu: wskazówki dotyczące idealnego efektu ”,\nUkładanie papy bitumicznej spawalniczej: trzeba to wiedzieć”,\nModernizacja ogrzewania podłogowego: należy na to zwrócić uwagę ”,\nOszczędność podatku od przeniesienia własności nieruchomości: najlepsze wskazówki ”,\nWohn-Riester: Fundusze dla rodzin, par i singli ”,\nInteligentne otwieracze do bram garażowych 2021: Najpopularniejsze modele w teście”,\nGniazda USB: najlepsze w porównaniu testowym ”,


toolkaa - Podobało mi się to kiedy życie było proste\nPodobało mi się to kiedy życie było proste\ntoolkaa dodano: 17 listopada 2012\nPodobało mi się to, kiedy życie było proste\ntoolkaa dodał komentarz: pięknee do wpisu 17 listopada 2012\nWiem nie trudno stracić orientację w czasach grubych ściem , bo tu każdy bohaterem jest historii z trzecim dnem ♥\nSą w moim życiu takie osoby , którym wolno wszystko , dosłownie. Mogą czytać moje sms , budzić mnie o 4 rano i zdrabniać moje imię . Nawet jeśli tego nienawidzę. ♥\ntoolkaa dodał komentarz: dobreee do wpisu 17 listopada 2012\nOgarnij swój pierdolnik, bo stracisz tych, którzy są dla Ciebie na prawdę ważni\nmamo, przepraszam - to nie moja wina , że zamiast spódniczek wolę dresy. że zamiast różowego auta i wożenia się nim po mieście, wolę crossa i błotne 'przygody'. że zamiast medycyny wolę prawo. że zamiast wypicia melisy , wolę rozwalić rękę o mur by wyładować emocje. że gdy ktoś mnie uderzy zamiast siedzieć cicho i się schować od razu kontratakuję. mamo , przepraszam - nigdy nie obiecałam , że będę idealna.\nSzare dni które pozwalaja nam pomyslec nad zyciem\nDesperacko krzyczała "to koniec", wypalając kolejnego papierosa. Nie zważając na łzy krzyczała że miłości nie ma i nie będzie i że w sumie chuj z tym.\n- Czemu do mnie napisałeś ? - bo chciałem wiedzieć co u Ciebie... - co u mnie ? nie będę Cię kłamać . Powiem jak jest naprawdę . Nie radzę sobie z tym, że nie jesteśmy już razem, że nas już nie ma, że to wszystko co było między nami to dla Ciebie była tylko zabawa . Boli, cholernie mnie boli to, że mnie tak bardzo zraniłeś . Nie pogodziłam się i chyba nigdy nie pogodzę się z myślą, że już nigdy nie popatrzysz na mnie tymi swoimi zielonymi oczami, w które mogłam się wpatrywać bez przerwy, że już nigdy mnie nie przytulisz, nie pocałujesz ... na samą myśl o tym, coś mnie rozpierdala od środka . to chciałeś usłyszeć ? - też za Tobą tęsknię.\nnapisał. pierwszy raz od kilku miesięcy, przez które ona poukładała sobie życie, wycięła z niego miłość, a w swoje serce wpakowała tyle przyjaźni ile tylko się dało, żeby tylko zabrakło miejsca na miłość dla niego. pisali ze sobą, jak starzy dawni znajomi, którzy spotykają się po latach. zręcznie omijali temat, który był dla nich niewygodny. 'on zapomniał, co było między nami' pomyślała... i już czuła, że słone kropelki ściekają z jej oczu. wybiegła z domu, nie zauważając nawet, że zaczyna się burza, której kiedyś się bała. jakże łatwo było pokonywać lęk z dzieciństwa w porównaniu ze strachem przed chłodem ukochanej osoby. zaczęła płakać jeszcze bardziej. mimowolnie, z bezsilności. przemoknięta, nie zauważyła, że z daleka nadchodzi on. w ich dawnym sekretnym miejscu. kiedy się odwróciła, na jej twarzy zaczęła malować się nadzieja. wiedziała, że to absurdalne, ale musiała.. spojrzała na niego i powiedziała cicho "kocham cię. kochałam cię przez cały czas". przytulił ją.. jak dawniej. /\nTylko on potrafił zrozumieć jej podejście do świata. Tylko on nie pytał dlaczego śpi w dwóch różnych skarpetkach. Tylko on nie próbował pocieszać gdy było źle. Dawał jej swobodę do wypłakania się, bo wiedział, że później będzie jej lepiej. Tylko on bez słowa zanosił ją do sypialni, kiedy po imprezie nie była w stanie dotrzeć tam sama. To właśnie on każdego ranka czekał na nią z kubkiem kakao. To on bez żadnych sprzeciwów oglądał z nią denne komedie romantyczne. To on podczas ulewy zabierał jej parasol i kazał gonić się po deszczu. To on z wredną miną pytał "Jak tam na dole", wiedząc, że nienawidzi swojego wzrostu. Tylko on nie robił jej wyrzutów. A gdy go zabrakło jej świat się zawalił.\n53 54 ... 160 Następna


Resort zdrowia: 813 nowych zakażeń koronawirusem, zmarło 14 osób z COVID-19 - Biznes i Styl\nBadania potwierdziły 813 nowych zakażeń koronawirusem, zmarło 14 osób z&nbspCOVID-19 – poinformowało w&nbsppiątek Ministerstwo Zdrowia.\nTydzień temu, 17 września, resort informował o&nbsp652 nowych zakażeniach, a&nbspdwa tygodnie temu, 10 września – o&nbsp528.\nNowe zakażenia, o&nbspktórych poinformowano w&nbsppiątek, dotyczą osób z&nbspwojewództw: lubelskiego (132), mazowieckiego (118), podlaskiego (66), zachodniopomorskiego (66), dolnośląskiego (56), małopolskiego (56), śląskiego (52), podkarpackiego (51), łódzkiego (47), wielkopolskiego (43), kujawsko-pomorskiego (33), pomorskiego (33), warmińsko-mazurskiego (23), opolskiego (13), lubuskiego (10), świętokrzyskiego (6).\nZ&nbsppowodu COVID-19 zmarły dwie osoby, natomiast z&nbsppowodu współistnienia COVID-19 z&nbspinnymi schorzeniami zmarło 12 osób.\nŁącznie od 4 marca ub.r., gdy wykryto w&nbspPolsce pierwsze zakażenie SARS-CoV-2, potwierdzono 2 901 674 zakażenia. Zmarło 75 551 osób z&nbspCOVID-19.


Klub Parlamentarny Platforma Obywatelska - Rafał Grupiński w "TVP INFO": Pozytywny efekt działa\nRafał Grupiński w "TVP INFO": Pozytywny efekt działa\nPozytywny efekt Donalda Tuska jest i myślę, że wszyscy rodacy, niezależnie od opcji, którą prywatnie popierają, ucieszyli się z awansu polskiego polityka w Unii Europejskiej - mówił przewodniczący klubu parlamentarnego Rafał Grupiński.\n"Najważniejsze są w tej chwili pierwsze wizyty zagraniczne, bo to kierowanie państwem jest kwestią odpowiedzialności nowej pani premier. Natomiast liczymy, że w miarę możliwości pani premier chociaż w kilku regionach odwiedzi naszych samorządowców" - mówił przewodniczacy klubu Rafał Grupiński odnosząc się do zapowiedzi Roberta Tyszkiewicza, że pani premier Ewa Kopacz rozpocznie wizyty w regionach w związku z samorządową kampanią wyborczą.\nNa pytanie prowadzącej program o zaangażowanie byłego premiera Donalda Tuska w kampanię samorządową, przewodniczący klubu odparł, że kiedy rozpoczyna się pełnić funkcję ponadpartyjną, to trudno jest pogodzić to nawet z lokalną aktywnością partyjną. "Pozytywny efekt Donalda Tuska jest i myślę, że wszyscy rodacy, niezależnie od opcji, którą prywatnie popierają, ucieszyli się z awansu polskiego polityka w Unii Europejskiej. Natomiast myślę, że kwestia zaangażowania w kampanię okazała się trudna po pogodzenia z nową rolą" - powiedział Rafał Grupiński. Pomimo tego "dobrze jest, jeśli ktoś tak znakomity jak Donald Tusk odwiedza jakąś dotąd niezauważaną gminę" - dodał przewodniczący Grupiński.\nPojawiły się doniesienia o tym, że Michał Kamiński był jedną z osób zaangażowanych w opracowywanie expose premier Ewy Kopacz. "Myśle, że expose powstawało tak jak zwykle powstaje, czyli ministrowie przygotowali poszczególne fragmenty, a pani premier je uporządkowała" - skomentował przewodniczący klubu. "To, że poszczególni politycy prześcigają się w tym, żeby mediom zasuflować jak świetną rolę odegrali to jest normalne. Każdy chce się ogrzać przy sukcesie. Kto pomagał pani premir przy expose wie tylko ona sama" - powiedział Rafał Grupiński.\nPo wygłoszonym przez panią premier Ewę Kopacz expose pojawiły się komentarze, że zabrakło przedstawienia kwestii światopoglądowych. Pytany był o to także przewodniczący Grupiński. Odpowiedział, że trudno omówić wszystkie sprawy podczas krótkiego wystapienia, a pani premier przedstawiła najwazniejsze cele. "Wszystko po kolei. Są cele najważniejsze, które trzeba było zarysować ze względu na wcześniej złożone obietnice społeczne. Potem są cele dalsze" - powiedział Rafał Grupiński. Przewodniczący przypomniał, że w Polsce funkcjonuje rządowy program leczenia niepłodności. "In vitro dzisiaj w Polsce działa, wymaga tylko wyższego poziomu regulacji - dodał Rafał Grupiński.\nRafał Grupiński komentował także gest Jarosława Kaczyńskiego, który po apelu premier Ewy Kopacz uścisnął dłoń Donalda Tuska. "Jest to gest interesujący, który politycy PiS-u zaczęli od wczorajszego poranka deprecjonować, co też jest szkodliwe dla ich własnych interesów. To był gest istotny i symboliczny. Mam nadzieje, że PiS dokona powrotu do tego gestu" - powiedział Rafał Grupiński.


Opinie o noclegu Apartamenty Pokoje Pionow Oceń nocleg, dodaj opinię!\nOpinie Apartamenty Pokoje Pionow\nRybacka 40/1, Krynica Morska Sprawdź na mapie Wróć do oferty głównej\nDziękujemy że docenili państwo nasz obiekt. Cały czas pracujemy nad podnoszeniem jakości, standardu pokoi apartamentów, z idąc z moda i aktualnymi trendami.\nMieliśmy super pokój z dużym łożem małżeńskim, łazienka, balkon, parking. W pokoju wszystko przemyślane, niczego nie brakowało. Śniadania dodatkowo płatne.\nMiałem fajny duży pokój z łazienkom, balkonem. Bardzo czysto, obsługa w wakacje dzien w dzien sprzątała obiekt na zewnatz i wewnątrz. Bardzo fajny kącik z małym aneksem w przedpokoju z mikrofalówka, do tego kawa, herbata, woda mineralna....\nMiałam okazje wypoczywać w jednym z apartamentów Pionow. Nie rozczarowałam się, oferta zgodna z tym co oglądamy w internecie. Klucze odebrałam w biurze firmy, po czym udałam się pod wskazany adres apartamentu. Apartament w pełni wyposażony,...\nPolecam, naprawdę bardzo fajna firma, która wynajmuje pokoje i apartamenty w Krynicy Morskiej. Bardzo dobre warunki, czytelny regulamin i zasady. Bardzo czysto, fajna lokalizacja, na miejscu wypożyczalnia rowerów. Obsługa pomocna od początku...\nPolecam, bardzo fajne pokoje, duze łoza małżeńskie, nowoczesny standard, obsługa profesjonalna, w obiekcie cisza spokój, obiekt nie przyjmuje żadnych zwierząt, chwała im za to, mało jest tego typu obiektów, czyściutko, przytulnie, naprawdę można...\nSkontaktuj się z nami Apartamenty Pokoje Pionow