hi leute,
hab meinen pic an die parallele schnittstelle geschlossen und wollte gern 8 bit an portb abgreifen um sie fuer die weiterverarbeitung zu nutzen. also hab ich mir ein programm geschrieben was mir die 8 bit ausliest und erstmal ne led an porta.0 blinken laesst, damit ich sehe, ob wirklich alles evrnuenftig uebertragen wird. und was soll ich sagen, es passiert natuerlich nicht richtig. mal stimmt der wert der uebrtragen wird, mal nicht.
ich hab mir ein programm mittels c++ geschrieben was auf die parallele schnittstelle werte ausgibt. die habe ich nachgemessen, die daten kommen alle so am pic an wie ich es moechte.
hier mal mein quellcode des pic's:
Code:
#include "../16f84.h"
#pragma config |= 0b.1111.1111.0001
void pause(void) // Unterprogramm zum Abwarten einer Millisekunde
{
OPTION = 2; // Vorteiler auf 8 einstellen
TMR0 = 131; // 125 * 8 = 1000 (= 1 ms)
while (TMR0); // Schleife, solange bis TMR0=0 wird
}
void main(void)
{
TRISB = 0b.1111.1111;
TRISA = 0b.0000.0000;
PORTB = 0;
PORTA = 0;
char j=0,i=0,k=0;
Hallo:
while(PORTB==0);
i=5;
while(i){pause();i--;}
k=PORTB;
PORTB=0;
for(j=0;j<k;j++){
i=250;
while(i){pause();pause();i--;}
PORTA.0=1;
i=250;
while(i){pause();pause();i--;}
PORTA.0=0;
}
goto Hallo;
}
habt ihr eine idee was ich falsch mache??
danke.
msp
Lesezeichen