Sábado 14 de Diciembre de 2024, 22:35
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Error Bioscom en Borland C++ 5.02
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Error Bioscom en Borland C++ 5.02 (Leído 1529 veces)
jamoncito
Nuevo Miembro
Mensajes: 2
Error Bioscom en Borland C++ 5.02
«
en:
Martes 8 de Marzo de 2011, 10:20 »
0
Buenas, tengo este código de aqui y me da un error de: "Error: unresolved external '_biosocom', a ver si me podeis decir algo. Gracias.
Código: C++
#include <bios.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#include <mem.h>
#include <windows.h>
#define BAUD2400 0
#define BIT7PAR 0 /* 7 bits paridad PAR */
int
lin,status
;
long
precio,peso
;
char
tx
[
11
]
,indmen
;
char
rx
[
21
]
;
char
aux
[
6
]
;
char
recibi
;
unsigned
char
lrc,errorp
;
#define COM1 0 /* 0-COM1 1-COM2 */
#define CR 0x0d
#define LF 0x0a
#define TRUE 1
#define FALSE 0
#define DATA_READY 0x100
#define PARI_ERROR 0x400
#define FRAM_ERROR 0x800
char
mensaje
(
void
)
;
int
main
(
void
)
{
int
i
;
unsigned
int
nerror,ntx,nrx
;
char
vez,error,tecla
;
vez
=
0
;
nerror
=
0
;
ntx
=
0
;
nrx
=
0
;
recibi
=
0
;
clrscr
(
)
;
lin
=
1
;
#if BAUD2400
bioscom
(
0
,
0xa0
|
0x03
|
0x00
|
0x00
,COM1
)
;
/* 2400, 8 datos, 1 stop */
#else
#if BIT7PAR
bioscom
(
0
,
0xe0
|
0x02
|
0x18
|
0x00
,COM1
)
;
/* 9600, 7 datos, par, 1 stop */
#else
bioscom
(
0
,
0xe0
|
0x03
|
0x00
|
0x00
,COM1
)
;
/* 9600, 8 datos, 1 stop */
/* bioscom(0,0xe0 | 0x03 | 0x00 | 0x00,COM1); 9600, 8 datos, 1 stop */
#endif
#endif
while
(
1
)
{
if
(
vez
==
0
)
{
gotoxy
(
2
,lin
)
;
cprintf
(
"Precio = "
)
;
gotoxy
(
11
,lin
)
;
scanf
(
"%05ld"
,
&
precio
)
;
vez
=
1
;
}
if
(
kbhit
(
)
!
=
0
)
/* Cualquier tecla para salir */
{
if
(
(
tecla
=
getch
(
)
)
!
=
0x20
)
break
;
}
error
=
0
;
if
(
tecla
==
0x20
)
{
tecla
=
0x00
;
precio
++
;
sprintf
(
tx,
"98%05ld"
,precio
)
;
lrc
=
0x00
;
for
(
i
=
0
;
i
<
7
;
i
++
)
lrc
^
=
tx
[
i
]
;
tx
[
7
]
=
lrc
;
tx
[
8
]
=
CR
;
tx
[
9
]
=
LF
;
for
(
i
=
0
;
i
<
10
;
i
++
)
/* Enviar tx */
// bioscom(1,tx[i],COM1);
ntx
++
;
indmen
=
0
;
}
while
(
mensaje
(
)
==
FALSE
)
{
if
(
kbhit
(
)
!
=
0
)
break
;
}
if
(
recibi
==
TRUE
)
{
indmen
=
0
;
recibi
=
FALSE
;
nrx
++
;
memmove
(
aux,
&
rx
[
3
]
,
5
)
;
aux
[
5
]
=
0x00
;
peso
=
atol
(
aux
)
;
gotoxy
(
2
,lin
)
;
cprintf
(
"Precio = "
)
;
gotoxy
(
11
,lin
)
;
cprintf
(
"%05ld"
,precio
)
;
gotoxy
(
20
,lin
)
;
cprintf
(
"Peso = %.1s %.5s"
,
&
rx
[
2
]
,
&
rx
[
3
]
)
;
gotoxy
(
40
,lin
)
;
cprintf
(
"Imp. = %.1s %.6s"
,
&
rx
[
8
]
,
&
rx
[
9
]
)
;
if
(
rx
[
0
]
!
=
'9'
||
rx
[
1
]
!
=
'9'
)
error
=
1
;
lrc
=
0x00
;
for
(
i
=
0
;
i
<
15
;
i
++
)
lrc
^
=
rx
[
i
]
;
if
(
lrc
!
=
rx
[
15
]
)
error
=
1
;
if
(
error
==
1
)
{
nerror
++
;
gotoxy
(
58
,lin
)
;
cprintf
(
"ERROR"
)
;
}
if
(
errorp
==
1
)
/* Error de paridad */
{
gotoxy
(
67
,lin
)
;
cprintf
(
"ERROR"
)
;
errorp
=
0
;
}
gotoxy
(
1
,
22
)
;
cprintf
(
"NTX = %drnNRX = %drnERR = %d"
,ntx,nrx,nerror
)
;
lin
++
;
if
(
lin
>
20
)
{
clrscr
(
)
;
lin
=
1
;
}
}
Sleep
(
100
)
;
}
}
char
mensaje
(
void
)
{
int
i
;
status
=
bioscom
(
3
,
0
,COM1
)
;
if
(
status
&
DATA_READY
)
{
if
(
status
&
PARI_ERROR
)
errorp
=
1
;
i
=
bioscom
(
2
,
0
,COM1
)
;
/* Recibir dato */
}
else
return
(
FALSE
)
;
rx
[
indmen
++
]
=
i
;
if
(
i
==
'n'
)
{
recibi
=
TRUE
;
return
(
TRUE
)
;
}
recibi
=
FALSE
;
return
(
FALSE
)
;
}
Tweet
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Error Bioscom en Borland C++ 5.02