| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
minixino
Registrado: 24 Ago 2007 Mensajes: 4
| Publicado: 24/08/2007 5:16 am | | | Título: Ayuda para un principiante |
| Estoy empezando a hacer pinitos con el compilador lcc-win32 y para ello he copiado el siguiente código de internet que se supone trabaja con el puerto serie
#include <conio.h>
int main() { int valor=0xFA, id_puerto=0; /* Puerto de serie 0 */
outportb( id_puerto, valor ); clrscr(); cprintf( "Ejemplo de \"outport\"\r\n\r\n" ); cprintf( "Escribimos 1 word (2 bytes) al puerto %d: 0x%X.\r\n", id_puerto, valor ); cprintf( "Pulsa una tecla para continuar...\r\n" ); getch();
return 0; }
El caso es que, a pesar de su sencillez, el compilador me devuelve el error que os adjunto:
Wedit output window build: Fri Aug 24 14:53:22 2007 Error c:\temp\x10\sistema mas sencillo\x10massencillo.c 6 undefined reference to _outportb c:\lcc\bin\make.exe Compilation + link time:0.1 sec, Return code: 1
¿Sabeis que mas tengo que hacer?
Gracias, |
|
| Volver arriba | |
 |
digies
Registrado: 18 Nov 2005 Mensajes: 241 Ubicación: Cono Sur
| Publicado: 24/08/2007 7:40 am | | | Título: |
| Hola
El error se debe a que tu compilador -en este caso el lcc-win32 - no soporta la biblioteca conio.h que es propio de los compiladores de Borland.
Salu2! |
|
| Volver arriba | |
 |
rir3760

Registrado: 01 Oct 2004 Mensajes: 3657 Ubicación: Mexico
| Publicado: 24/08/2007 7:58 am | | | Título: |
| Para ser mas exactos Lcc-win32 si incluye soporte de la biblioteca conio de Borland (el suficiente para seguir el curso de Gorka Urrutia) pero este es parcial y no incluye las funciones para el manejo de puertos.
Un saludo _________________ The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice. -- Rebec of Ginaz |
|
| Volver arriba | |
 |
|
minixino
Registrado: 24 Ago 2007 Mensajes: 4
| Publicado: 24/08/2007 11:36 pm | | | Título: |
| Encontré en internet un trozo de codigo que me evita el error
#define outportb _outp
pero me preocupa el comentario que me haceis sobre que la libreria no incluye las funciones para el manejo de puertos. ¿Hasta que punto puedo entonces controlar el puerto serie compilando los programas con este compilador? ¿que recomendaciones me dais? ...por supuesto, gratuito.
Quiero hacer un programa que envie comandos X10 (tema relacionado con la domotica) a través del puerto serie. |
|
| Volver arriba | |
 |
cheroky
Registrado: 22 Sep 2005 Mensajes: 1372 Ubicación: En ecx esperando un call
| Publicado: 25/08/2007 9:17 am | | | Título: |
| Puesto que usas un compilador para windows y salvo los windows de versiones antiguas no podras acceder al hardware de tu maquina directamente, para ello tendras que usar funciones del API de tu sistema operativo. Si no recuerdo mal en estos mismos foros se barajan algunas soluciones, usa el motor de busqueda.
S2. _________________ - Explícito es mejor que implícito. - Simple es mejor que complejo. - Complejo es mejor que complicado. - Plano es mejor que anidado. - Ralo es mejor que denso. |
|
| Volver arriba | |
 |
mamntc02
Registrado: 30 Abr 2007 Mensajes: 242
| Publicado: 27/08/2007 12:41 am | | | Título: |
| Hola, Sí, es un tema ya comentado por aquí. Para abrir puerto serie no podrás usar outportb, en sistemas Windows XP/2000. Debes usar el API de windows. Para abrir una conexión con el puerto serie, debes usar CreateFile (en inglés). Por ejemplo | Código: | hCom = CreateFile( "COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL ); |
Puedes mirar también aquí (en inglés) para más información de como usar los recursos de comunicaciones del API. Otro link muy interesante es este (como no, en inglés también ) con ejemplos de como establecer conexión, leer y escribir en el puerto serie.
Saludos. |
|
| Volver arriba | |
 |
|
minixino
Registrado: 24 Ago 2007 Mensajes: 4
| Publicado: 27/08/2007 10:35 pm | | | Título: |
| Gracias a todos por vuestra ayuda. Veo que tengo trabajo por delante, para empezar, aprender ingles 
En fin, manos a la obra. |
|
| Volver arriba | |
 |
|
|