C/Visual C - programa para una eprom

 
Vista:

programa para una eprom

Publicado por anhap (1 intervención) el 23/06/2002 06:45:07
Hola espero me puedan ayudar... tengo un proyecto en el cual tengo una eprom montada en una tarjeta isa que obviamente va en la pc, pero resulta que debo hacer un programa que mande a escribir datos a la eprom y tambien que los mande a leer... como debo hacerlo, lo que pasa es que el principal detalle es que cuando mando datos los manda a la RAM y no a la EPROM y tambien quiero saber como debo decirle al C que mande a una tarjeta (memoria insertada en una tarjeta isa) y no a la RAM, por su ayuda 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

Escribir y leer datos en una EPROM desde una tarjeta ISA

Publicado por Alejandro (946 intervenciones) el 05/03/2025 22:44:30
Hola, Anhap. Para interactuar con una EPROM montada en una tarjeta ISA desde un programa en C/Visual C, necesitas seguir algunos pasos clave. Aquí te dejo una solución básica que puedes adaptar a tus necesidades:

1. Acceso a la tarjeta ISA



Primero, debes asegurarte de que tu programa tenga acceso a la memoria de la tarjeta ISA. Esto generalmente se hace a través de la manipulación de puertos de entrada/salida (I/O). En Windows, necesitarás usar funciones específicas para acceder a estos puertos, ya que el acceso directo a hardware no está permitido en modo de usuario.

2. Configuración de puertos



Identifica las direcciones de los puertos de I/O que corresponden a tu tarjeta ISA. Esto puede variar según el hardware, así que consulta la documentación de tu tarjeta. Una vez que tengas las direcciones, puedes usar funciones como `outportb()` y `inportb()` para escribir y leer datos.

3. Escribir datos en la EPROM



Para escribir datos en la EPROM, necesitarás enviar los datos a la dirección correcta. Aquí hay un ejemplo básico de cómo podrías hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <conio.h>
#include <dos.h>
 
#define EPROM_WRITE_PORT 0x300  // Cambia esto a la dirección correcta
#define EPROM_DATA_PORT 0x301    // Cambia esto a la dirección correcta
 
void escribir_en_eprom(unsigned char dato) {
    outportb(EPROM_WRITE_PORT, 0x01); // Comando para habilitar escritura
    outportb(EPROM_DATA_PORT, dato);   // Enviar dato a la EPROM
    outportb(EPROM_WRITE_PORT, 0x00);  // Comando para deshabilitar escritura
}
 
int main() {
    unsigned char dato = 0xAA; // Dato a escribir
    escribir_en_eprom(dato);
    return 0;
}

4. Leer datos de la EPROM



Para leer datos, puedes usar un enfoque similar, pero en lugar de enviar un comando de escritura, enviarás un comando de lectura:

1
2
3
4
5
6
unsigned char leer_de_eprom() {
    outportb(EPROM_WRITE_PORT, 0x02); // Comando para habilitar lectura
    unsigned char dato = inportb(EPROM_DATA_PORT); // Leer dato de la EPROM
    outportb(EPROM_WRITE_PORT, 0x00); // Comando para deshabilitar lectura
    return dato;
}

Consideraciones finales



- Permisos: Asegúrate de que tu programa tenga los permisos necesarios para acceder a los puertos de I/O. Esto puede requerir ejecutar el programa en modo administrador o usar un entorno que permita acceso a bajo nivel.
- Documentación: Consulta la documentación de tu tarjeta ISA para obtener detalles específicos sobre los comandos y la configuración de la EPROM.
- Pruebas: Realiza pruebas exhaustivas para asegurarte de que los datos se escriben y leen correctamente.

Espero que esto te ayude a comenzar con tu proyecto. ¡Buena suerte!
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