14.01.2015 Views

Interfacing the Serial/RS-232 Port

Interfacing the Serial/RS-232 Port

Interfacing the Serial/RS-232 Port

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Interfacing</strong> <strong>the</strong> <strong>Serial</strong> / <strong>RS</strong><strong>232</strong> <strong>Port</strong> V5.0<br />

Buff1024.c - An Interrupt Driven Sample Comms Program<br />

Es recomendable revisar los conceptos vistos en practicas anteriores.<br />

#include <br />

#include <br />

#include <br />

#define PORT1 0x2E8 /* <strong>Port</strong> Address Goes Here */<br />

/* Defines <strong>Serial</strong> <strong>Port</strong>s Base Address */<br />

/* COM1 0x3F8 */<br />

/* COM2 0x2F8 */<br />

/* COM3 0x3E8 */<br />

/* COM4 0x2E8 */<br />

#define INTVECT 0x0B /* Com <strong>Port</strong>'s IRQ here */<br />

/* (Must also change PIC setting) */<br />

int bufferin = 0;<br />

int bufferout = 0;<br />

char ch;<br />

char buffer[1025];<br />

void interrupt (*oldport1isr)();<br />

void interrupt PORT1INT() /* Interrupt Service Routine (ISR) for PORT1 */<br />

{<br />

int c;<br />

do { c = inportb(PORT1 + 5);<br />

if (c & 1) {buffer[bufferin] = inportb(PORT1);<br />

<strong>Interfacing</strong> <strong>the</strong> <strong>Serial</strong> / <strong>RS</strong><strong>232</strong> <strong>Port</strong> V5.0 Page 24

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!