YI non può passare compilare utilizzando VC (comunicazione seriale)

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

 
Perché si desidera utilizzare la porta seriale come questo?
Sei iscritto DOS domanda?

Utilizzando la porta seriale in Windows può essere fatto in questo modo:
http://www.tetraedre.com/advanced/serial.php (per i non-sovrapposti = blocco)
http://www.tetraedre.com/advanced/serial2.php (per sovrapposta = non-bloccanti)
(Esempi di codice, documentazione, ... Ottimo riferimento per la porta seriale di programmazione in Windows!)

Antharax

 
se si utilizza poi vincere 98 INP (), _inpb (), _out (), _outb funzioni (invece di inport e outport) sono disponibili in conio.h quindi non serve aggiungere alcun lib o file dll.

 

Welcome to EDABoard.com

Sponsor

Back
Top