J
J_expoler2
Guest
/ * Nome: Campione
del Comitato di Programma - Versione intervistati - termpoll.c * /
/ * Scritto da: Craig Peacock <cpeacock(at)senet.com.au> * /
/ * Data: Sabato 22 febbraio 1997 * /
/ * Copyright 1997 CRAIG PEACOCK <cpeacock(at)senet.com.au> * /
/ * Vedi http://www.senet.com.au/ ~ cpeacock/serial1.htm * /
/ * * Per ulteriori informazioni /
# include <dos.h>
# include <stdio.h>
# include <conio.h>
# define PORT1 0x3F8
/ * Definisce Serial Ports Base Indirizzo * /
/ * COM1 0x3F8 * /
/ * COM2 0x2F8 * /
/ * COM3 0x3E8 * /
/ * COM4 0x2E8 * /
void main (void)
(
int c;
int ch;
outportb (PORT1 1, 0); / * Spegnere interrompe - Port1 * /
/ * PORTO 1 - Comunicazione Impostazioni * /
outportb (PORT1 3, 0x80); / * SET DLAB ON * /
outportb (PORT1 0, 0x03); / * Set Baud rate - Divisor Latch Low Byte * /
/ * 0x03 = Default 38.400 BPS * /
/ * 0x01 = 115.200 BPS * /
/ * 0x02 = 57.600 BPS * /
/ * 0x06 = 19.200 BPS * /
/ * 0x0C = 9.600 BPS * /
/ * 0x18 =
4800 bps * /
/ * 0x30 =
2400 bps * /
outportb (PORT1 1, 0x00); / * Set Baud rate - Divisor Latch High Byte * /
outportb (PORT1 3, 0x03); / * 8 bit,
nessuna parità, 1 stop bit * /
outportb (PORT1 2, 0xC7); / * FIFO Control Register * /
outportb (PORT1 4, 0x0B); / * Accendere DTR, RTS, e OUT2 * /
printf ( "\ nSample
del Comitato di Programma. Premere ESC per uscire \ n");
do (c = inportb (PORT1 5); / * Check per vedere se è stato char * /
/ * Ricevuto.* /
if (c & 1) (ch = inportb (PORT1); / * Se è così, poi char * /
printf ( "% c", ch) / * Stampa a schermo Char * /
if (kbhit ()) (ch = getch (); / * Se il tasto premuto, ottenere char * /
outportb (PORT1, ch) / * Invia a Char Serial Port * /
) While (ch! = 27); / * Chiudere quando CES (ASC 27) viene premuto * /
)questa prima porta seriale nata?qualcuno mi può aiutare pls
ringraziare
del Comitato di Programma - Versione intervistati - termpoll.c * /
/ * Scritto da: Craig Peacock <cpeacock(at)senet.com.au> * /
/ * Data: Sabato 22 febbraio 1997 * /
/ * Copyright 1997 CRAIG PEACOCK <cpeacock(at)senet.com.au> * /
/ * Vedi http://www.senet.com.au/ ~ cpeacock/serial1.htm * /
/ * * Per ulteriori informazioni /
# include <dos.h>
# include <stdio.h>
# include <conio.h>
# define PORT1 0x3F8
/ * Definisce Serial Ports Base Indirizzo * /
/ * COM1 0x3F8 * /
/ * COM2 0x2F8 * /
/ * COM3 0x3E8 * /
/ * COM4 0x2E8 * /
void main (void)
(
int c;
int ch;
outportb (PORT1 1, 0); / * Spegnere interrompe - Port1 * /
/ * PORTO 1 - Comunicazione Impostazioni * /
outportb (PORT1 3, 0x80); / * SET DLAB ON * /
outportb (PORT1 0, 0x03); / * Set Baud rate - Divisor Latch Low Byte * /
/ * 0x03 = Default 38.400 BPS * /
/ * 0x01 = 115.200 BPS * /
/ * 0x02 = 57.600 BPS * /
/ * 0x06 = 19.200 BPS * /
/ * 0x0C = 9.600 BPS * /
/ * 0x18 =
4800 bps * /
/ * 0x30 =
2400 bps * /
outportb (PORT1 1, 0x00); / * Set Baud rate - Divisor Latch High Byte * /
outportb (PORT1 3, 0x03); / * 8 bit,
nessuna parità, 1 stop bit * /
outportb (PORT1 2, 0xC7); / * FIFO Control Register * /
outportb (PORT1 4, 0x0B); / * Accendere DTR, RTS, e OUT2 * /
printf ( "\ nSample
del Comitato di Programma. Premere ESC per uscire \ n");
do (c = inportb (PORT1 5); / * Check per vedere se è stato char * /
/ * Ricevuto.* /
if (c & 1) (ch = inportb (PORT1); / * Se è così, poi char * /
printf ( "% c", ch) / * Stampa a schermo Char * /
if (kbhit ()) (ch = getch (); / * Se il tasto premuto, ottenere char * /
outportb (PORT1, ch) / * Invia a Char Serial Port * /
) While (ch! = 27); / * Chiudere quando CES (ASC 27) viene premuto * /
)questa prima porta seriale nata?qualcuno mi può aiutare pls
ringraziare