This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| et:examples:communication:rs232:linux [2011/03/22 11:45] – raivo.sell | et:examples:communication:rs232:linux [2020/07/20 12:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | < | ||
| + | ====== RS-232 Linuxis ====== | ||
| + | |||
| + | Näide Ubuntu baasil | ||
| + | |||
| + | Eeldused: minicom terminali emulaator | ||
| + | Kui programm puudub, siis tuleks see paigaldada käsuga: //sudo apt-get install minicom// | ||
| + | |||
| + | Ühendada mikrokontroller mõne USB-COM konverteriga ja kontrollida, | ||
| + | |||
| + | tulemuseks võiks olla midagi sellist: | ||
| + | |||
| + | [ 0.000000] console [tty0] enabled | ||
| + | [ 3823.820524] usb 5-1: pl2303 converter now attached to ttyUSB0 | ||
| + | [ 3937.382589] usb 5-2: FTDI USB Serial Device converter now attached to ttyUSB1 | ||
| + | [ 4152.680434] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0 | ||
| + | [ 4159.873377] ftdi_sio ttyUSB1: FTDI USB Serial Device converter now disconnected from ttyUSB1 | ||
| + | [ 4164.285887] usb 5-2: FTDI USB Serial Device converter now attached to ttyUSB0 | ||
| + | [ 4215.343098] usb 5-1: pl2303 converter now attached to ttyUSB1 | ||
| + | [ 4633.056395] pl2303 ttyUSB1: pl2303 converter now disconnected from ttyUSB1 | ||
| + | [ 4659.016240] usb 5-1: pl2303 converter now attached to ttyUSB1 | ||
| + | |||
| + | Siit tuleks teha kindlaks milline port on omistatud USB konverterile. | ||
| + | |||
| + | Kui näitekood on mikrokontrollerisse laetud tuleks avada minicom programm (soovitavalt root õigustes): | ||
| + | //sudo minicom -s// | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Esmalt tuleks konfigureerida ühendus: | ||
| + | |||
| + | Pordi määramiseks vajutada klahvile A, määrata ühendus, näiteks /// | ||
| + | ja pordi parameetrid Bps/ | ||
| + | Väljumiseks vajutada ESC klahvi. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Peale valikut //Exit// initsialiseerib minicom pordi ühenduse. | ||
| + | |||
| + | Mikrokontroller tuleb ühendada arvuti USB konverteriga kasutades rist kaablit (tuntud ka kui 0-modem kaabel). | ||
| + | |||
| + | Allolev programm kirjutab igale uart porti saadetud sümbolile vastuseks tervitusteksti ja inverteerib plaadil oleva LED-i. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Kui on soov näha ka oma klhvi vajutusi tuleks aktiveerida kohalik kaja: //CTRL+A E// | ||
| + | |||
| + | <code c> | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | |||
| + | usart port = USART(0); | ||
| + | pin led = PIN(B, 7); //red LED on controller board | ||
| + | |||
| + | int main (void) | ||
| + | { | ||
| + | char c; | ||
| + | | ||
| + | pin_setup_output(led); | ||
| + | | ||
| + | usart_init_async(port, | ||
| + | USART_DATABITS_8, | ||
| + | USART_STOPBITS_ONE, | ||
| + | USART_PARITY_NONE, | ||
| + | USART_BAUDRATE_ASYNC(115200)); | ||
| + | |||
| + | while (1) // | ||
| + | { | ||
| + | //if char is sent to controller, read it into c | ||
| + | if (usart_try_read_char(port, | ||
| + | { | ||
| + | //invert LED | ||
| + | pin_toggle(led); | ||
| + | // Write some greetings | ||
| + | usart_send_string(port, | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||