setle
02.06.2012, 14:42
Moin,
bin gerade ein bisschen am Programmieren und habe mich gefragt, ob schon einer von euch es geschafft hat mit dem Jumper (JP1) zu arbeiten.
Da beide über den ADC gehen bin ich mir nicht sicher ob ich dann ein bit als Output (IO_INPUT_2) und den anderen dann mit adc_read(IO_INPUT_3) auslesen soll. Wenn ich beide auslese konnen da nicht die gleichen werte raus, und es hat nicht viel mit nicht/gejumpert zu tun
adc_init(IO_INPUT_2_BIT);
int j1=adc_read(IO_INPUT_2_BIT);
char test[10];
sprintf(test,"%d",j1);
gfx_move(0,55);
gfx_print_text(test);
adc_init(IO_INPUT_3_BIT);
int j2=adc_read(IO_INPUT_3_BIT);
char test2[10];
sprintf(test2,"%d",j2);
gfx_move(50,55);
gfx_print_text(test2);
und dann meine zweite frage:
Wie läuft bei euch copro_setTargetRel(r,l, spd), bzw copro_setTargetAbs(r,l,spd)?
denn bei mir wartet die funktion nicht solange bis sie den wert erreicht hat, sondern ich muss es mit nem delay/bzw while schleife machen.
Bsp
while(copro_ticks_r !=0){
copro_update();
if((copro_current_r |copro_current_l) >=16 && copro_speed_l<=0){
copro_stop();
run_display();
while (PIND&(1<<4)) { //warten auf Betätigung von S3 zum Starten
delay(1500);
PORTE=0xFF; //alle rot LEDs einschalten
delay(100);
PORTE=0x00; //alle rot LEDs ausschalten
}
}
copro_setTargetRel(-101,-101, 10); //könnte hier ja genauso copro_setSpeed(-10,-10) nehmen
}
eigentlich habe ich auch schon mit "copro_setPositionParameters(6,5,7);" die Regelungsparameter gesetzt.
ich hatte auch schon versucht mit "uint16_t copro_target_distance;" den fehler zu finden. dabei ist mir aufgefallen das die target_distance oft noch 0 ist.
bin gerade ein bisschen am Programmieren und habe mich gefragt, ob schon einer von euch es geschafft hat mit dem Jumper (JP1) zu arbeiten.
Da beide über den ADC gehen bin ich mir nicht sicher ob ich dann ein bit als Output (IO_INPUT_2) und den anderen dann mit adc_read(IO_INPUT_3) auslesen soll. Wenn ich beide auslese konnen da nicht die gleichen werte raus, und es hat nicht viel mit nicht/gejumpert zu tun
adc_init(IO_INPUT_2_BIT);
int j1=adc_read(IO_INPUT_2_BIT);
char test[10];
sprintf(test,"%d",j1);
gfx_move(0,55);
gfx_print_text(test);
adc_init(IO_INPUT_3_BIT);
int j2=adc_read(IO_INPUT_3_BIT);
char test2[10];
sprintf(test2,"%d",j2);
gfx_move(50,55);
gfx_print_text(test2);
und dann meine zweite frage:
Wie läuft bei euch copro_setTargetRel(r,l, spd), bzw copro_setTargetAbs(r,l,spd)?
denn bei mir wartet die funktion nicht solange bis sie den wert erreicht hat, sondern ich muss es mit nem delay/bzw while schleife machen.
Bsp
while(copro_ticks_r !=0){
copro_update();
if((copro_current_r |copro_current_l) >=16 && copro_speed_l<=0){
copro_stop();
run_display();
while (PIND&(1<<4)) { //warten auf Betätigung von S3 zum Starten
delay(1500);
PORTE=0xFF; //alle rot LEDs einschalten
delay(100);
PORTE=0x00; //alle rot LEDs ausschalten
}
}
copro_setTargetRel(-101,-101, 10); //könnte hier ja genauso copro_setSpeed(-10,-10) nehmen
}
eigentlich habe ich auch schon mit "copro_setPositionParameters(6,5,7);" die Regelungsparameter gesetzt.
ich hatte auch schon versucht mit "uint16_t copro_target_distance;" den fehler zu finden. dabei ist mir aufgefallen das die target_distance oft noch 0 ist.