hallo
ich bin wieder auf ein problem gestoßen, und zwar:
meine drei funktionen sollten parallel laufen (jede funktion gleichzeitig), jedoch laufen die sequentiell ab. wie könnte ich dieses problem lösen.
und bei meiner ersten funktion wenn ich die for-schleife weglasse startet es am NULLTEN- BIT aber wenn ich die for- schleife dazugebe startet es am ERSTEN- BIT.
jedoch wenn ich hinschreibe "P2=0x0000" dann läuft es überhaupt nicht.
was könnte das sein.
danke im vorhinein
mfg
Code:#include <reg167.h> #define eins 2000 #define zwei 100 #define drei 50 void softdelay (unsigned int); void erstes(); void zweites(); void drittes(); sbit port15= P2^15; void main(void) { while(1) { DP2=0xFFFF; erstes(); zweites(); drittes(); } } void erstes (void) { unsigned int i; P2=0x0001; for (i=0; i<7;i++) { P2=P2<<1; softdelay(eins); } } void zweites(void) { unsigned int i; P2=0x0100; for (i=0; i<6;i++) { P2=P2<<1; softdelay(zwei); } for (i=0; i<6; i++) { P2= P2>>1; softdelay(zwei); } } void drittes(void) { port15=1; softdelay(drei); port15=0; softdelay(drei); } void softdelay(unsigned int zeit) { int i,j; for (i=0; i<zeit; i++) for (j=0; j <2000; j++) {}; }







Zitieren

Lesezeichen