PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : schnittstelle


stylo
26.06.2002, 20:04
also ich habe ein programm geschrieben zum ansteuern der parallelen schnittstelle:
__________________________________________________________
code:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
#include <dos.h>
#include <math.h>

void Outport1(int port,int* code_out);

void Outport1(int port,int*code_out)
{
outport(port, 0xFF); //reset
delay(1000);
outport(port, *code_out); //code ausgabe
delay(2000);
outport(port, 0x00); //ausgänge löschen
}


void main()
{

const int port = 0x378; //Hier wird das Port eingestell
int *code_out;
clrscr();
Outport1(port,code_out);


}
______________________________________________________

nun habe ich die bei bestimmten werten die schnittstelle mittels messgerät ausgemessen:

0x0001 = Pin 2 auf 1
0x0002 = Pin 3 auf 1
0x0003 = Pin 2 u. 3 auf 1
0x0004 = Pin 4 auf 1
0x0005 = Pin 2 u. 4 auf 1


das problemm, welches ich nun habe ist das ich z.B wenn pin 2 und 4 auf 1 sind, pin1 trotzdem high oder low setzen kann ohne das sich pin 2 und 4 verändern.

also rein theoretisch muss ich die schnittstelle auslesen und dann in eine variable schreiben, und danach den anderen pin den ich ansprechen will über die schnittstelle ausgeben. (nur meine gedanken)

z.B Pin1 high | 00000001 einlesen.
Pin2 high setzen und Pin 1 nicht verändern | 00000010 auf die Datenadresse ausgeben.

__________
leider weiß ich nicht wie ich das realisieren kann. vielleicht kann mir jemand von euch weiter helfen!

danke stefan


xOOn
30.06.2002, 01:40
dan mit dem low und high setzen kannst du doch ueber | und & machen (maskieren) oder habe ich da was falsch verstanden ggf kannst du dann

void Outport1(int port,int*code_out)
{
outport(port, *code_out); //code ausgabe
}
machen