C/Visual C - bioscom, bios, conio,etc

 
Vista:

bioscom, bios, conio,etc

Publicado por Jose David (1 intervención) el 12/10/2001 14:39:15
Podrian decirme o bien darme una explicacion de la funcion
bioscom( , , ). Que representan valores dentro del parentesis.
Idem respecto las funciones(?): bios.h , conio.h , dos.h .Mi problema es que necesito hacer un soft para lectura y escritura de datos del puerto serie, y me comentaron que iba a tener que usar dichas funciones, sentencias. Y a proposito, tendrian ejemplos o tutorial, lo que sea que me ayude en lo concerniente a lectura escritura de puertos, presentacion en pantalla de los datos leidos( tengo que reproducir en pantalla una señal electrica que varia en el tiempo, o sea tengo que hacer algo mas o menos en tiempo real; recibir datos por el puerto e ir reproduciendo la señal en pantalla). A quien pueda ayudarme, aconsejarme, mil gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Funciones y bibliotecas para comunicación serial

Publicado por Alejandro (913 intervenciones) el 16/10/2024 22:54:10

1. Función `bioscom()`



La función `bioscom()` es parte de la biblioteca de BIOS en C, que se utiliza para la comunicación a través de puertos serie. La declaración típica de la función es:

1
int bioscom(int port, int data, int control);

- `port`: Especifica el puerto serie que deseas utilizar (por ejemplo, 0x3F8 para COM1).
- `data`: Este parámetro se utiliza para enviar o recibir datos. Si estás enviando datos, este es el valor que se enviará. Si estás recibiendo, este parámetro se puede ignorar.
- `control`: Este parámetro se utiliza para controlar el puerto, como habilitar o deshabilitar interrupciones.

2. Bibliotecas



- `bios.h`: Esta biblioteca proporciona acceso a funciones de BIOS, que incluyen operaciones de entrada/salida de bajo nivel, como la comunicación a través de puertos serie.

- `conio.h`: Esta biblioteca proporciona funciones para la entrada/salida de consola, como `getch()`, `clrscr()`, etc. No es directamente útil para la comunicación serie, pero puede ser útil para la interacción con el usuario en la consola.

- `dos.h`: Esta biblioteca proporciona funciones para interactuar con el sistema operativo DOS, como la manipulación de archivos y la gestión de memoria. También incluye funciones para la manipulación de puertos.

Ejemplo de lectura y escritura en el puerto serie



Aquí tienes un ejemplo básico de cómo leer y escribir datos en un puerto serie utilizando `bios.h` y `dos.h`. Este código es un punto de partida y puede necesitar ajustes según tu entorno y requisitos específicos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <bios.h>
#include <dos.h>
#include <stdio.h>
 
#define COM1 0x3F8 // Dirección del puerto COM1
 
void sendByte(char data) {
    // Esperar hasta que el puerto esté listo para enviar
    while ((inportb(COM1 + 5) & 0x20) == 0);
    outportb(COM1, data); // Enviar el byte
}
 
char receiveByte() {
    // Esperar hasta que haya datos disponibles
    while ((inportb(COM1 + 5) & 1) == 0);
    return inportb(COM1); // Leer el byte
}
 
int main() {
    char dataToSend = 'A'; // Ejemplo de dato a enviar
    sendByte(dataToSend); // Enviar dato
 
    char receivedData = receiveByte(); // Recibir dato
    printf("Dato recibido: %c\n", receivedData); // Mostrar dato recibido
 
    return 0;
}

Explicación del código



1. Definición del puerto: Se define la dirección del puerto COM1.

2. Función `sendByte`: Envía un byte al puerto serie. Espera hasta que el puerto esté listo para enviar.

3. Función `receiveByte`: Lee un byte del puerto serie. Espera hasta que haya datos disponibles.

4. Función `main`: Envía un carácter 'A' y luego espera recibir un dato, que se imprime en la consola.

Presentación de datos en tiempo real



Para presentar datos en tiempo real, necesitarás un bucle que lea continuamente del puerto serie y actualice la pantalla. Puedes usar bibliotecas gráficas como `graphics.h` o `SDL` para dibujar la señal eléctrica en tiempo real.

Recursos adicionales



- Documentación de BIOS y DOS: Busca documentación específica sobre las funciones de `bios.h` y `dos.h` para entender mejor cómo funcionan.
- Tutoriales de comunicación serial: Busca tutoriales en línea sobre comunicación serial en C, que pueden ofrecer ejemplos más detallados y específicos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar