[pso] [tema 2, general] portul serial

foxX alex.mihaiuc at gmail.com
Fri Apr 18 20:32:06 EEST 2008


http://www.beyondlogic.org/serial/buff1024.c (linkul din enuntul temei)

 outportb(PORT1 + 3 , 0x80);  /* SET DLAB ON */
///////////////////////////////////////////////////////////////////BUBA
 outportb(PORT1 + 0 , 0x0C);  /* Set Baud rate - Divisor Latch Low Byte */
			      /* Default 0x03 =  38,400 BPS */
			      /*         0x01 = 115,200 BPS */
			      /*         0x02 =  57,600 BPS */
			      /*         0x06 =  19,200 BPS */
			      /*         0x0C =   9,600 BPS */
			      /*         0x18 =   4,800 BPS */
			      /*         0x30 =   2,400 BPS */
 outportb(PORT1 + 1 , 0x00);  /* Set Baud rate - Divisor Latch High Byte */
 outportb(PORT1 + 3 , 0x03);  /* 8 Bits, No Parity, 1 Stop Bit */
///////////////////////////////////////////////////////////////////BUBA
 outportb(PORT1 + 2 , 0xC7);  /* FIFO Control Register */
 outportb(PORT1 + 4 , 0x0B);  /* Turn on DTR, RTS, and OUT2 */

pe un procesor la 2 GHz, de ce liniile marcate cu BUBA functioneaza?
sa inteleg ca fiecare port din cele 8 are cate un mini-buffer asociat?
corect n-ar fi sa fac outb pe procesorul meu de $300, dupa care sa
astept intreruperea de la uartul de c5 inainte de a incerca sa scriu
din nou la LCR? (+3)

cel mai corect n-ar fi:
1. enable comx
2. in interupere, setat primul parametru (outb)
3. in interuperea generata candva dupa, setat al 2lea prametru
.
.
.

?
-- 
kthxbai


More information about the pso mailing list