[preguntas] Linux programacion para control de puertos serial
y USB
Mario De León
mdeleon en sci.net.gt
Lun Nov 29 17:51:54 CST 2004
Pele alambres .. me cruce con el puerto paralelo,
Para el serial no he hecho mucho, ni para el paralelo por cierto .. solo
tengo este programa que es para comunicacion por el COM
miralo :
/*Programa para transmitir bit a bit por medio del puerto serial*/
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <bios.h>
#define SETCOM 0xEB /* 8 bits de datos , paridad impar, un bit de stop y 9600 baudios */
#define COM 0 /* puerto COM 1 */
#define CONFIGURA 0
#define ENVIA 1
#define RECIBE 2
#define ESTADO 3
#define DATOLISTO 0x100 /* mascara de dato esperando en el puero serie */
#define ESCAPE 0x1B
main()
{
int estado, puerto, c=1, r=5;
char datoent, datosal;
clrscr();
puerto = COM;
bioscom(CONFIGURA, SETCOM, puerto);
do{
estado = bioscom(ESTADO, 0, puerto);
if (estado & DATOLISTO)/*recibe el dato que es enviado por la otra PC2 al puerto de la PC1*/
if ((datoent = bioscom(RECIBE, 0, puerto) & 0x7F) != 0){
putchar(datoent);/*se obtubo un dato del puerto y se imprime en pantalla*/
}
if (kbhit()) {
gotoxy(c,r+5);datosal=getche();/*el usuario de la pc1 o en el caso que sea la pc2 preciona*/
c+=2; /*una tecla y es enviado a la otra pc conetada al puerto con el mismo medio*/
bioscom(ENVIA, datosal, puerto);/*se envia el dato al puerto para que llegue a la otra pc*/
}
}while (datosal!=ESCAPE);
printf("FIN DE LA CONVERSACION\n");
getch();
return 0;
}
Mario De León wrote:
> Yo tengo un programita que hace algo similar, controlaba un motorcito
> de pasos,
> Pero lo más dificil fué la armada del circuito, ahora si entendés de
> electrónica es otro tema.
> Al puerto tenés que enviar el "byte" (8 bits) con un número binario
> que coincida con los bits encendidos (con valor 1), según el pin que
> necesités encender,
> es decir : 01100000 corresponden al los pines del 2 al 9 (pines de
> datos) en esta caso estoy encendiendo los pines 3 y 4.
> La instrucción en C es outp(0x378, numero) donde numero es tu entero
> que al pasarlo a binario enciende tus pines necesarios, y 0x378 es la
> direccion de memoria del puerto paralelo.
> Si alguien conoce bien la materia, y estoy errado en algo que me
> corriga por favor.
> Saludos.
>
> PD: te mando un manual de todos modos (ahi hacen parpadear 10 leds),
> el programa no lo tengo a la mano.
>
> jaimeco en usac.edu.gt wrote:
>
>> Que tal lista.
>>
>> Imagino que se utiliza C para progrmar/controlar los puertos seriales
>> y usb.
>> Si por ejemplo yo quisiera conectar un circuito electronico a un puerto
>> serial y hacer que un led con una resistencia se encienda 1 vez por
>> segundo, alguien me puede decir una buena pagina o manual o alguna
>> orientacion sobre este tipo de temas?
>> O mejor aun un librin que hable sobre el control de puertos con C.
>>
>>
>> jaimeco :(|)
>>
>> _______________________________________________
>> preguntas mailing list
>> preguntas en guug.org
>> http://guug.org/cgi-bin/mailman/listinfo/preguntas
>>
>>
>>
>
>
> _______________________________________________
> preguntas mailing list
> preguntas en guug.org
> http://guug.org/cgi-bin/mailman/listinfo/preguntas
>
Más información sobre la lista de distribución preguntas