027
23.05.2011, 20:14 Uhr
m.haardt
|
Vermutlich hast Du einen 16C550 im PC bzw. in dessen Chipsatz, dessen TX-FIFO aktiviert ist. Das ist ein saudämlicher Chip, weil der RTS/CTS nur per Software steuert und den FIFO nicht damit steuern kann, d.h. nachdem Du signalisierst, dass Dein Puffer voll ist, kriegst Du noch 16 Zeichen ab. Damit wird es ziemlich sinnlos.
Wenn Du mit line speed einen 17 Byte Puffer mit Interrupts füllen kannst, hast Du gewonnen. Alternativ schaltest Du den TX-FIFO am PC ab, was aber nur bei Windows geht, bei Linux nicht. Oder Du baust Dir auch einen 16C550 in Dein System ein und aktivierst dessen RX-FIFO. Letzteres habe ich bei meinem SBC gemacht.
Michael |