60 likes | 188 Views
Soros kommunikáció. Üzenet–>Kódolás (bináris kód) A bitek átküldése a vezetéken időben egymás után (soros) Dekódolás–>Üzenet. 100101011101. GND. Adásszünet: 1 (5V) Az adat kezdete: lefutó él (0V), start bit Adás alatt a vevő adott időnként mintát vesz a jelvezetékről (1 vagy 0, 0V vagy 5V)
E N D
Üzenet–>Kódolás (bináris kód) • A bitek átküldése a vezetéken időben egymás után (soros) • Dekódolás–>Üzenet 100101011101 GND
Adásszünet: 1 (5V) • Az adat kezdete: lefutó él (0V), start bit • Adás alatt a vevő adott időnként mintát vesz a jelvezetékről (1 vagy 0, 0V vagy 5V) • Adott idő: bitidő, reciproka a baudrate. (a kommunikáció sebessége: 1200, 2400, …9600 bit/s • Az adat végén lehet paritásbit:az 1-esek száma páros v. páratlan a jelben • Az átvitel vége: Stop bit (1 azaz 5V, 2 szer) • KERET: START|100101001|STOP • Aszinkron átvitel: A keretek között hosszabb rövidebb szünetek lehetnek. • Szóhosszúság: 8 bit, 10 bit, 4 bit • Egy vagy kétirányú átvitel lehetséges • Kétirányú átvitel: két vezeték (adó, vevő, GND)
UART • Univerzális aszinkron adóvevő soros és párhuzamos interfészek között. • USART: szinkron kommunikáció: órajel szinkronizál. (külön kábel) • DUART: Dual UART • USB szabvány (Univerzális Soros Busz) • GND, data1, data2, VCC, tehát négy ér, és tápfesz is. • Plug and play, gyors
Szükséges: Terminál program • Bray-terminal, letölthető: esca/…….stb • A terminal kijelzi a fogadott és elküldött szöveget. Meg kell adni a kommunikáció jellemzőit: baudrate, szóhossz, paritás, szinkronizáció és a használt port (com3), továbbá kapcsolódni kell a porthoz! (connect, disconnect) • A program bemutatása, beállítások
uart.c állomány a függvényekkel: -uart_init(), sendChar(), sendString() -Inicializálás, a program a terminálra küld egy karaktert. -receiveChar(), stb Miértek: AVR használati útmutató pl: UDR regiszter, stb • uart.h állomány (megnézni!!) • uart.c benne legyen a Makefile SRC sorában Feladat: • Demo letöltése és futtatása • írja ki a program, hogy melyik nyomógombot tartják éppen nyomva • receiveString() függvény megírása • ADC voltmérő program fut-e?