Foros de Electrónica

Comunidad de discusión sobre Automatización, Electrónica industrial, Microcontroladores y electrónica digital, Robótica, Domótica, Telemática, Tecnologías móviles, y muchos temas más.




comunicacion serial


       



#1  comunicacion serial
gabrielz1
Registrado: 11 Jul 2006
Mensajes: 51
citar
Hola amigos, nose si me pueden ayudar con un problema que tengo; bueno estoy programando el puerto serial de mi PC y tengo el siguiente codigo echo en borlan C 3.0 pero lo malo es que no me funciona o alguien sabe que es lo que estoy haciendo mal.

#include <dos.h>
#include <stdio.h>
#include <conio.h>
#define PORT1 0x3F8


/* COM1 0x3F8 */
/* COM2 0x2F8 */
/* COM3 0x3E8 */
/* COM4 0x2E8 */

void main(void)
{
int c;
int ch;
outportb(PORT1 + 1 , 0);

outportb(PORT1 + 3 , 0x80);
outportb(PORT1 + 0 , 0x0C);

/* 0x03 = 38,400 BPS */
/* 0x01 = 115,200 BPS */
/* 0x02 = 56,700 BPS */
/* 0x06 = 19,200 BPS */
/* 0x0C = 9,600 BPS */
/* 0x18 = 4,800 BPS */
/* 0x30 = 2,400 BPS */

outportb(PORT1 + 1 , 0x00);
outportb(PORT1 + 3 , 0x03);
outportb(PORT1 + 2 , 0xC7);
outportb(PORT1 + 4 , 0x0B);

printf("\nPresionar ESC para salir \n");

do { c = inportb(PORT1 + 5);


if (c & 1) {ch = inportb(PORT1);

printf("%c",ch);}
if (kbhit()){ch = getch();
outportb(PORT1, ch);}
} while (ch !=27);
}

Este es el codigo en C, o derepente algo estoy haciendo mal con el puerto porque creo que deberia funcionar, ahora si alguien sabe o derepente es toy yampeando mal el puerto o es que debo probarlo de otra manera o derepente el puerto serial de mi maquina esta mal o que es lo que me podrian sujerir amigos

gracias anticipadamente.

#2  Re: comunicacion serial
EinSoldiatGott
Colaborador
Registrado: 04 Dic 2005
Mensajes: 924
citar
Hola, yo nunca he usado Borland pero se me ocurren que puede ser la configuración de su puerto serial, o tal vez este usando Windows XP y de ser así al menos en Turbo C no deja sacar los datos así directamente, va a ocupar una dll.

De cualquier manera moveré su tema a Interfases y Programación ahí es su lugar correcto y seguro le darán una mejor respuesta.

Saludos, por cierto que debe de hacer su programa?


Ultima edición por EinSoldiatGott el Lun Sep 25, 2006 11:09 pm, editado 1 vez

#3  
gabrielz1
Registrado: 11 Jul 2006
Mensajes: 51
citar
hola amigo EinSoldiatGott, si tu cres que es por el S.O. que es lo que se puede hacer para solucionar este caso, porque el programa que emvie es un programa para aperturar el puerto serial, y puedes emviar y recivir un byte por el mencionado puerto y creo que debe funcionar porque lo diseñe con cuidado.

Ahora otra pregunta cuando yo usaba win98 ponia en modo de sistema y entraba al SO DOS presionado F8 y habra alguna forma de entrar al DOS antes de ingresar al winxp, puesto que si es asi entonces ahi puede funcionar no creen??

les agradesere una respuesta amigos gracias.

#4  
EinSoldiatGott
Colaborador
Registrado: 04 Dic 2005
Mensajes: 924
citar
gabrielz1 escribió: hola amigo EinSoldiatGott, si tu cres que es por el S.O. que es lo que se puede hacer para solucionar este caso, porque el programa que emvie es un programa para aperturar el puerto serial, y puedes emviar y recivir un byte por el mencionado puerto y creo que debe funcionar porque lo diseñe con cuidado.

Ahora otra pregunta cuando yo usaba win98 ponia en modo de sistema y entraba al SO DOS presionado F8 y habra alguna forma de entrar al DOS antes de ingresar al winxp, puesto que si es asi entonces ahi puede funcionar no creen??

les agradesere una respuesta amigos gracias.


Hola, lo que puede hacer es probar su programa en una compu con win98 o me, si funciona ahi quiere decir que si es su SO, en ese caso deberá aprender como se hace en borland para hacer que el programa mande llamar una dll hay muchas io.dll la que yo uso se llama creo que inouput32.dll.

Yo trate varias veces para hacer funcionar el puerto paralelo en turbo c++ en winXP pero como no lo logré me cambié a Visual Basic.

Saludos

#5  
maunix
Colaborador
Ubicación: Cordoba, Argentina
Registrado: 22 Oct 2005
Mensajes: 649
citar
EinSoldiatGott escribió:
gabrielz1 escribió: hola amigo EinSoldiatGott, si tu cres que es por el S.O. que es lo que se puede hacer para solucionar este caso, porque el programa que emvie es un programa para aperturar el puerto serial, y puedes emviar y recivir un byte por el mencionado puerto y creo que debe funcionar porque lo diseñe con cuidado.

Ahora otra pregunta cuando yo usaba win98 ponia en modo de sistema y entraba al SO DOS presionado F8 y habra alguna forma de entrar al DOS antes de ingresar al winxp, puesto que si es asi entonces ahi puede funcionar no creen??

les agradesere una respuesta amigos gracias.


Hola, lo que puede hacer es probar su programa en una compu con win98 o me, si funciona ahi quiere decir que si es su SO, en ese caso deberá aprender como se hace en borland para hacer que el programa mande llamar una dll hay muchas io.dll la que yo uso se llama creo que inouput32.dll.

Yo trate varias veces para hacer funcionar el puerto paralelo en turbo c++ en winXP pero como no lo logré me cambié a Visual Basic.

Saludos


Debiste usar el Borland Builder y algún "componente" para el puerto serie.

El visual basic hace algo similar. No es 'magia' es simplemente que el turbo c++ es un compilador para aplicaciones en DOS monotarea.

#6  
gabrielz1
Registrado: 11 Jul 2006
Mensajes: 51
citar
ok amigos entiendo, pero no hay alguna otra manera de hacer correr mi programa en borland c++, o derepente se puede desbloquear winxp o algo asi, puesto que les dire que si puedo sacar datos via Visual c++ 6.0 utilizando las mfc tanto por el puerto paralelo con por el serial, sino que estoy interesado sobre como se podria desbloquear el winxp para poder hacer correr aplicasiones en turbo c++.

espero que me puedan ayudar con sus aportes gracias,

#7  
EinSoldiatGott
Colaborador
Registrado: 04 Dic 2005
Mensajes: 924
citar
gabrielz1 escribió:
gabrielz1 escribió: ok amigos entiendo, pero no hay alguna otra manera de hacer correr mi programa en borland c++, o derepente se puede desbloquear winxp o algo asi, puesto que les dire que si puedo sacar datos via Visual c++ 6.0 utilizando las mfc tanto por el puerto paralelo con por el serial, sino que estoy interesado sobre como se podria desbloquear el winxp para poder hacer correr aplicasiones en turbo c++. mas que nada la comunicasion serial puesto que el programa que les emvie es un programa que me base de acuerdo alas caracteristicas de su chip asi quese supone que funciona pero ya que hay restriciones en el winxp quisiera saber como hacerlo funcionar.

espero que me puedan ayudar con sus aportes gracias,


Hola, hay un tema donde se trató ese asunto pero aún no ha sido solucionado, se lo dejo para si quiere checarlo

Saludos

http://www.forosdeelectronica.com/viewtopic.php?p=19669#19669


Ultima edición por EinSoldiatGott el Mar Sep 26, 2006 10:11 pm, editado 1 vez

#8  
maunix
Colaborador
Ubicación: Cordoba, Argentina
Registrado: 22 Oct 2005
Mensajes: 649
citar
gabrielz1 escribió: ok amigos entiendo, pero no hay alguna otra manera de hacer correr mi programa en borland c++, o derepente se puede desbloquear winxp o algo asi, puesto que les dire que si puedo sacar datos via Visual c++ 6.0 utilizando las mfc tanto por el puerto paralelo con por el serial, sino que estoy interesado sobre como se podria desbloquear el winxp para poder hacer correr aplicasiones en turbo c++.

espero que me puedan ayudar con sus aportes gracias,


gabrielrz te sugiero que leas sobre sistemas operativos y sobre "encapsulación" de aplicaciones.

Cuando leas eso tal vez se te disipen muchas dudas.

Saludos

#9  
gabrielz1
Registrado: 11 Jul 2006
Mensajes: 51
citar
Hola amigo, probe el programa en win 98 y funciono, y como funciono normal, intente probarlo de nuevo en el winxp y funciono tambien normal, que creen que puede estar pasando; puesto que ahora si funciono normalmente pero el puerto paralelo si no funciona en winxp pero si funciona en win98.

Aver amigos ayudenme a entender que esta pasando o derepente es mi maquina ya que es una intel de placa D101, y bueno esta placa no soporta elwin98 solo es apartir de la winxp, pero digo que es algo raro o alguien me puede sacar de estas dudas , le estare muy agradecido.

gracias.

 Responder





 Otros temas de interés 
No hay mensajes nuevos con un programa para el pic 16F84
No hay mensajes nuevos Diagrama de adaptador USB a serial
No hay mensajes nuevos Programar el PIC16C765 por el puerto serial y el USB
No hay mensajes nuevos TV Sony demora en salir la imagen
No hay mensajes nuevos Interface IrDA para el puerto serial

Foros de Electronica
|| Cuestiones Elementales de Electrónica || Fuentes de alimentacion || Circuitos de radio || Diseño de circuitos en general ||
|| Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión ||
|| Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos ||