Puerto Paralelo[Problema con inp32]

Claro.


No, nunca programé ni tampoco trabajé con PIC. Me podrías dar algún ejemplo de un módulo codificado y como sería su llamada e implementación en un programa?

Gracias.

Ejemplo tan especifico como de un ascensor no tengo;
y los que tengo no creo que te vayan a servir.

Ya tienes las herramientas de Microchip y tu board?
:)
 
Ah, yo decia un ejemplo de cualquier programa, no tiene que ser especificamente del ascensor, a modo de entender como es que se codifica, y demás.

Las herramientas y la board del PIC que sería?
 
Bueno, son 3 diagramas de flujo nomás hasta el momento: Mover Cabina desde planta baja, Mover Cabina y Control de Puerta Abierta.

Los que mas o menos voy viendo que me faltan son: Control de Piso Actual (para la prioridad de piso), Cerrar / Abrir Puerta (tengo que usar el motorcito que trae la lectora), Display LCD (que nose bien como hacerlo), Giro del Motor y Llamada a Piso.

Con respecto al esquematico si, seguramente uso el que ya tengo.

Bueno, si ves algun error y/o sugerencia decime. Gracias.
 

Adjuntos

  • Mover la Cabina desde planta baja.jpg
    Mover la Cabina desde planta baja.jpg
    25.2 KB · Visitas: 6
  • Mover Cabina.jpg
    Mover Cabina.jpg
    22.2 KB · Visitas: 5
  • Control Puerta Abierta.jpg
    Control Puerta Abierta.jpg
    41.2 KB · Visitas: 5
Hi Matias,

Creo que el proceso de solicitar el destino esta mal colocado,
parece que se esta ejecutando tres veces consecutivas sin que se realice ninguna
otra acción.

Inicio-> Destino->Destino(Mover)-> Destino(Control Puerta)

El destino no puede ser un valor de un unico piso, si no mas bien es una ruta.
que se esta modificando a medida que el ascensor se detiene en cada piso.
Necesitas trabajar en el proceso de capturar el destino.

Estas haciendo este proyecto tu solo?

Por otro lado si el proyecto ya nada tiene que ver con el puerto paralelo,
continuemos en otro tema, para no confudir a los demas foristas y puedas tener
mas sugerencias. Si quieres continuamos en este que parece el mas reciente.

https://www.forosdeelectronica.com/f25/ascensor-compuertas-logicas-13164/

:)
 
Entiendo, si al proyecto lo estoy haciendo solo, pero tiene que ser todo por el puerto paralelo.

Los demás diagramas estan bien?

El de compuertas logicas no me sirve porque tengo que utilizar si o si un PIC.
 
Pero para que esta conectada?
Que se va transmitir?
:confused:

me pueden ayudar
?
hola unikfriend
lo que quiero es solo que me digas como puedo introducirle al puerto datos para que interactue conmigo no lo he logrado pero sin embargo en enviar datos ya lo logre me puedes explicar mediante un ejemplo, por favor:)
mira
mediante esta tabla
quiero que el programa me haga diferentes opciones
0001 funcion 1
0011 funcion 2
0111funcion 3
1111funcion4

es decir no quiero que me hagas el codigo solo encaminame si puedes


el no saber me mata¡¡¡¡¡¡¡¡¡
 
#include <stdio.h>
#include <dos.h>
#include <conio.h>
#include <iostream.h>
#include <windows.h>


typedef short _stdcall (*inpfuncPtr)(short portaddr);
typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);

int main(int)
{
HINSTANCE hLib;
inpfuncPtr inp32;
oupfuncPtr oup32;

hLib = LoadLibrary("inpout32.dll");
if (hLib == NULL)
{
printf("LoadLibrary Failed.\n");
return -1;
}

inp32 = (inpfuncPtr) GetProcAddress(hLib, "Inp32");
if (inp32 == NULL)
{
printf("GetProcAddress for Inp32 Failed.\n");
return -1;
}

oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");
if (oup32 == NULL)
{
printf("GetProcAddress for Oup32 Failed.\n");
return -1;
}

int entrada;
entrada = inp32(0x379);
cout<<"hola"<<entrada;
//el problema es que entra el numero 255 siempre como puedo limpiar mi puerto de entrada para que no lea datos basura
if(entrada == 0x01)
printf("tu estado es de 100ml");
else if(entrada == 0x02)
printf("tu estado es de 200ml");
else if(entrada == 0x00)
printf("tu estado es de 000ml");
else
printf("tu estado es de 1000ml");
 
Atrás
Arriba