Hola buenas , me acabo de registrar en el foro , para ver si pudieran ayudarme con un problema que tengo en el borland Turbo c++ 5 y es q estoy haciendo un programa para monitorizar el estado de la red electrica medianteuna targeta de adquisicion de datos y un progrma en " C", ya esta practicamente acabado
pero al llegar a la parte en la que necesito hacer unas llamadas a un libreria que viene con la targeta (pcl711) pues tengo problemas por q no se como linkar esa libreria vamos que mi manejo en el borland no es muy grande y creo que se me esta pasando algo.
Lo primero os pongo lo creo q debo hacer para salir a esa libreria y poder hacer las llamdas :
antes de la funcion principal void main(void) he puesto esto
extern pcl711(int, unsigned int *);
y luego las llamadas a es libreria se hacen desde esta rutina:
//continuo abajo después de la runtina
void adq_datos ()
{
unsigned int i;
float DataBuf;
dat = data;
param[0] = 0; // Board number
param[1] = 0x300; // Base I/O address
param[4] = 5; // IRQ level : IRQ5
param[5] = 50; // Pacer rate = 2M / (50 * 100) = 400 Hz
param[6] = 100;
param[7] = 0; // Trigger mode, 0 : pacer trigger
param[8] = 0; // Non-cyclic
param[10] = FP_OFF(dat); // Offset of A/D data buffer A
param[11] = FP_SEG(dat); // Segment of A/D data buffer A
param[12] = 0; // Data buffer B address, if not used,
param[13] = 0; // must set to 0.
param[14] = 600; // A/D conversion number
param[15] = 0; // A/D conversion start channel
param[16] = 0; // A/D conversion stop channel
param[17] = 0; // Overall gain code, 0 : +/- 5V
pcl711(3, param); // Func 3 : Hardware initialization
if (param[45] != 0) {
printf("\nDRIVER INITIALIZATION FAILED !");
exit(1);
}
printf ("\nDRIVER INICIALIZADO");
pcl711(4, param); // Func 4 : A/D initialization
if (param[45] != 0) {
printf("\nA/D INITIALIZATION FAILED !");
exit(1);
}
printf ("\nINICIALIZACION HECHA");
pcl711(9, param); // Func 9 : Pacer trigger A/D conversion
if (param[45] != 0) { // with interrupt data transfer
printf("\nA/D PACER TRIGGER WITH INTERRUPT DATA TRANSFER FAILED !");
exit(1);
}
printf ("\nTRANSFERENCIA CON INTERRUPCION INICIADA");
do {
pcl711(10, param); // Func 10 : Check interrupt status
}while((param[46] & 1) != 0); // 0 : not active, 1 : active
printf ("\nPASADO CHECKEO DE INTERRUPCION");
for (i = 0; i < param[14]; i++) // Display data
{
DataBuf = data
& 0xFFF;
DataBuf =( (5 - (-5)) * DataBuf / 4096) + (-5);
printf("\ndata[%3d] = % 1.2f V ", i, DataBuf);
}
}
al crear el proyecto "Build project" me crea el ejecutable pero me da este error:
Undefinide symbol pcl711(int, unsigned int *) in module xxxxx.cpp
y no se como solucionar esto, (puede ser por que tenga añadir algun obj o problema de linkado) si alguien tiene un minima idea, lo que sea, q me pueda ayudar se lo agradeceria eternamente.
Adjunto el codigo completo del programa como ayuda para ver si me salvan la vida jejeje Seguro que teneis idea de q es lo q hago mal, me icinice en el "C"
hace 3 meses solo
Mi direccion de correo electronico de hotmail: punkelectro@hotmail.com
Muchisimas gracias por vuestra ayuda.