Od autora 6
Wstęp 7
1. Interfejs RS-232 11
1.1. Krótka charakterystyka 12
1.2. Opis protokołu 12
1.3. Sprzętowe implementacje UART w mikrokontrolerze 14
1.4. Opis wyprowadzeń złącza DB9 i DB25 + rodzaje połączeń Female/Male, Female/Female, Male/Male 16
1.4.1. Linie transmisji danych Rx, Tx oraz sterowania przepływem CTS, RTS, DTR, DTE 19
1.5. Podłączenie mikrokontrolera AVR do komputera PC – konwertery poziomu sygnału 20
1.5.1. HIN232 firmy Intersil 22
1.5.2. ADM202/203 firmy Analog Devices 22
1.5.3. MAX232 firmy Maxim 22
1.5.4. Wykonanie przewodu oraz schemat podłączenia mikrokontrolera AVR przy użyciu MAX232 25
1.5.5. Program pomocniczy – Kontroler COMM 26
2. Podstawowe sposoby konfiguracji portu szeregowego w PC 27
2.1. Instrukcja MODE 29
2.2. Wysyłamy dane – instrukcja COPY 30
2.3. Hyperterminal jako pierwsze narzędzie wymiany danych 31
2.4. Najprostsze sposoby transmisji danych z użyciem plików *.bat 34
2.5. Tworzenie plików *.bat z wykorzystaniem Visual Basic Express 2008 35
3. Kontrolki komunikacji szeregowej 39
3.1. Kontrolka mcscomm.ocx 40
3.1.1. Podstawowe właściwości – PortName, Baudrate, DataBits, Open, Close, Send, IsOpen 41
3.1.2. Podstawowe zdarzenia (OnReceive) 41
3.1.3. Sterowanie przepływem (SETDTR) 41
3.2. Kontrolka mscomm32.ocx 42
3.2.1. Rejestracja kontrolki 42
3.2.2. Podstawowe właściwości (CommPort, Settings, PortOpen, Input, Output) 42
3.2.3. Podstawowe zdarzenia (OnComm) 43
3.2.4. Sterowanie przepływem (RTSEnable, DTREnable, Handshaking, CTSHolding, DSRHolding) 43
3.3. Kontrolka Serial Port – pierwsza kontrolka platformy .NET 44
3.3.1. Podstawowe właściwości (Baudrate, DataBits, StopBits, IsOpen, Open, Close) 44
3.3.2. Podstawowe zdarzenia (ReadByte, ReadChar, ReadExisting) 45
3.3.3. Sterowanie przepływem (RTSEnable, DTREnable, Handshake, CTSHolding, DSRHolding) 45
4. Pierwszy program dla komputera PC 47
4.1. Konfiguracja parametrów portu szeregowego 49
4.2. Otwarcie i zamknięcie portu wraz z kontrolą jego statusu 50
4.3. Transmisja danych 51
4.4. Przykładowe programy 52
4.5. Odczyt danych na zasadzie wykrywania zdarzenia 55
4.6. Znak zachęty i Hyperterminal 59
5. Konfiguracja UART-u mikrokontrolera AVR 63
5.1. Otwarcie i zamknięcie portu ($baud, $baud1, CONFIG COMx, OPEN#, CLOSE#) 64
5.2. Wysyłanie ciągu znaków – instrukcja PRINT, PRINTBIN 65
5.3. Odbieranie danych (INPUT, INPUTBIN, INPUTHEX, INKEY()) 66
5.4. Kontrola echa – instrukcja ECHO 68
5.5. Konfiguracja bufora wejściowego (CONFIG SERIALIN, SERIALIN1, SERIALOUT, SERIALOUT1) 68
5.6. Kontrola znaku oczekującego bufora (ISCHARWAITING()) 68
5.7. Wykrywanie danych z wykorzystaniem kontroli przerwania URXC 69
6. Pierwszy program 71
6.1. Transmisja danych 73
6.2. Odbieranie danych bez zastosowania bufora 74
6.3. Odbieranie danych z zastosowaniem bufora 78
6.4. Odbieranie danych z wykorzystaniem przerwania URXC 84
7. Zagrożenia utraty danych po stronie mikrokontrolera i zapobieganie im 85
7.1. Buforowanie danych 86
7.2. Dodawanie prefiksu oraz sufiksu 86
7.3. Wprowadzenie dodatkowej sumy kontrolnej 88
8. Przykłady 89
8.1. Monitorowanie stanu przycisków na płytce ZL15AVR i sterowanie świeceniem LED 90
8.2. Odczyt napięcia zadanego potencjometrem na ZL15AVR i wyświetlenie zmierzonej wartości na monitorze PC 99
8.3. Prosty sterownik przekaźników 104
8.4. Prosty sterownik przekaźników z odczytem ich stanów 110
8.5. Pomiar temperatury z odczytem na PC i zapisem w bazie danych 117
8.6. Czytnik kodu RC5 124
8.7. Sterowanie alfanumerycznym wyświetlaczem LCD 16×2 z aplikacji PC 131
8.8. Sterowanie siedmiosegmentowym wyświetlaczem LED z aplikacji PC 137
8.9. Sterowanie graficznym wyświetlaczem LCDz aplikacji PC 145
8.10. Programowany licznik 0–9990 na USB z buzzerem, konfigurowany z komputera 151
Dodatek 161
D.1. Inne standardy transmisji szeregowej 162
D.1.1. RS422/RS485 – krótka charakterystyka 162
D.1.2. Scalone konwertery dla RS485 163
D.1.2.1. Konwerter MAX485 163
D.1.2.2. Konwerter SN75[zasłonięte] 164
D.2. Visual Basic Express 2008 165
D.2.1. Instalacja 165
D.2.2. Informacje ogólne 166
D.2.3. Dodawanie kontrolek 167