M
markcalaway
Guest
# include <p18f252.h>
# include <delays.h>
main (void)
(
int i, j, x, y;
x = 16;
y = 128;
j = 1; / / prvi servo = dušilke
while (x <= 20)
(
i = 0;
while (i <2)
(
TRISBbits.TRISB (j) = 0;
PORTBbits.RB (j) = 1;
Delay100TCYx (x-4); / / dušilke min do max
PORTBbits.RB (j) = 0;
Delay100TCYx (y 4);
i ;
)
x 1;
y-1;
)
x = 16;
y = 128;
while (x> = 12)
(
i = 0;
while (i <2)
(
TRISBbits.TRISB (j) = 0;
PORTBbits.RB (j) = 1;
Delay100TCYx (x 4) / / dušilke max do min
PORTBbits.RB (j) = 0;
Delay100TCYx (y-4);
i ;
)
x-1;
y 1;
)
j ; / / servo spremembo enkrat
while (j <5) / / servo spremembe 4-krat
(
x = 16;
y = 128;
while (x <= 20)
(
i = 0;
while (i <2)
(
TRISBbits.TRISB (j) = 0;
PORTBbits.RB (j) = 1;
Delay100TCYx (x), / / drugi servos nevtralen do max
PORTBbits.RB (j) = 0;
Delay100TCYx
;
i ;
)
x 1;
y-1;
)
x = 16;
y = 128;
while (x> = 12)
(
i = 0;
while (i <2)
(
TRISBbits.TRISB (j) = 0;
PORTBbits.RB (j) = 1;
Delay100TCYx (x 4) / / drugi servos max do min
PORTBbits.RB (j) = 0;
Delay100TCYx (y-4);
i ;
)
x-1;
y 1;
)
x = 16;
y = 128;
while (x <= 16)
(
i = 0;
while (i <2)
(
TRISBbits.TRISB (j) = 0;
PORTBbits.RB (j) = 1;
Delay100TCYx (x), / / drugi servos min za nevtralne
PORTBbits.RB (j) = 0;
Delay100TCYx
;
i ;
)
x 1;
y-1;
)
j ; / / sprememba servo
)
)Bomo uporabljali ta program za nadzor nad 5 servos of Rc Helicopter.Port B bo namenjenih za to.(Npr. Port B pin 1 nadzoruje dušilna loputa, pin 2 kontrole krmila in tako naprej.
Problem imamo leži v "TRISBbits.TRISB (j)", tako, da ne priznava "j".S to vrstico im težaven spremeniti bitov pristanišča kot proizvodnja.Imel sem že poskušal premik register, vendar sčasoma Še vedno mislim, problem je v določitvi ustrezni bit kot donos in ne premika.Torej ni nobene ukaz jaz bi lahko uporabile za določitev proizvodnje using svoj stari format ali kaj podobnega brez večjih sprememb v programu.Vsak nasvet bi bil dobrodošel.Hvala.
# include <delays.h>
main (void)
(
int i, j, x, y;
x = 16;
y = 128;
j = 1; / / prvi servo = dušilke
while (x <= 20)
(
i = 0;
while (i <2)
(
TRISBbits.TRISB (j) = 0;
PORTBbits.RB (j) = 1;
Delay100TCYx (x-4); / / dušilke min do max
PORTBbits.RB (j) = 0;
Delay100TCYx (y 4);
i ;
)
x 1;
y-1;
)
x = 16;
y = 128;
while (x> = 12)
(
i = 0;
while (i <2)
(
TRISBbits.TRISB (j) = 0;
PORTBbits.RB (j) = 1;
Delay100TCYx (x 4) / / dušilke max do min
PORTBbits.RB (j) = 0;
Delay100TCYx (y-4);
i ;
)
x-1;
y 1;
)
j ; / / servo spremembo enkrat
while (j <5) / / servo spremembe 4-krat
(
x = 16;
y = 128;
while (x <= 20)
(
i = 0;
while (i <2)
(
TRISBbits.TRISB (j) = 0;
PORTBbits.RB (j) = 1;
Delay100TCYx (x), / / drugi servos nevtralen do max
PORTBbits.RB (j) = 0;
Delay100TCYx
i ;
)
x 1;
y-1;
)
x = 16;
y = 128;
while (x> = 12)
(
i = 0;
while (i <2)
(
TRISBbits.TRISB (j) = 0;
PORTBbits.RB (j) = 1;
Delay100TCYx (x 4) / / drugi servos max do min
PORTBbits.RB (j) = 0;
Delay100TCYx (y-4);
i ;
)
x-1;
y 1;
)
x = 16;
y = 128;
while (x <= 16)
(
i = 0;
while (i <2)
(
TRISBbits.TRISB (j) = 0;
PORTBbits.RB (j) = 1;
Delay100TCYx (x), / / drugi servos min za nevtralne
PORTBbits.RB (j) = 0;
Delay100TCYx
i ;
)
x 1;
y-1;
)
j ; / / sprememba servo
)
)Bomo uporabljali ta program za nadzor nad 5 servos of Rc Helicopter.Port B bo namenjenih za to.(Npr. Port B pin 1 nadzoruje dušilna loputa, pin 2 kontrole krmila in tako naprej.
Problem imamo leži v "TRISBbits.TRISB (j)", tako, da ne priznava "j".S to vrstico im težaven spremeniti bitov pristanišča kot proizvodnja.Imel sem že poskušal premik register, vendar sčasoma Še vedno mislim, problem je v določitvi ustrezni bit kot donos in ne premika.Torej ni nobene ukaz jaz bi lahko uporabile za določitev proizvodnje using svoj stari format ali kaj podobnega brez večjih sprememb v programu.Vsak nasvet bi bil dobrodošel.Hvala.