Also ... ich habe jetzt erstmal angefangen die "Servo-Rada" Funktionen zusammen zu führen, jedoch scheitere ich da kläglich, weil ich die beiden Programme noch nicht richtig verstehe und was das C programmieren angeht sowieso noch ein Anfänger bin... kann mir da jamand helfen die beiden zusamen zu stellen?
und das von radbruchCode:#include "RP6RobotBaseLib.h" uint8_t i, pause, servo_stellzeit, servo_delay; void servo(uint8_t w0, uint8_t w1, uint8_t w2) { unsigned int count=0; do{ PORTA |= E_INT1; // E_INT1 (Pin8) sleep(w0); PORTA &= ~E_INT1; PORTC |= 1; // SCL (Pin10) sleep(w1); PORTC &= ~1; PORTC |= 2; // SDA (Pin12) sleep(w2); PORTC &= ~2; sleep(servo_delay-(w0+w1+w2)); //sleep(127); } while (count++ < servo_stellzeit); mSleep(10*pause); } int main(void) { initRobotBase(); i=0; servo_stellzeit=8; DDRA |= E_INT1; // E_INT1 als Ausgang DDRC |= 3; // SCL und SDA als Ausgang // 5 - 15 - 25 // Min - Mitte - Max servo(15,15,15); // Grundstellung while (1) { switch (i) { case 0: i++; servo_delay= 220; break; } servo(10,14,10); servo(10,13,10); servo(10,12,10); servo(10,11,10); servo(10,10,10); servo(10,9,10); servo(10,8,10); servo(10,7,10); servo(10,6,10); servo(10,5,10); servo(10,6,10); servo(10,7,10); servo(10,8,10); servo(10,9,10); servo(10,10,10); servo(10,11,10); servo(10,12,10); servo(10,13,10); servo(10,14,10); servo(10,15,10); servo(10,16,10); servo(10,17,10); servo(10,18,10); servo(10,19,10); servo(10,20,10); servo(10,21,10); servo(10,22,10); servo(10,23,10); servo(10,24,10); servo(10,23,10); servo(10,22,10); servo(10,21,10); servo(10,20,10); servo(10,19,10); servo(10,18,10); servo(10,17,10); servo(10,16,10); servo(10,15,10); } return 0; }
Danke für hilfe!Code:#include "RP6RobotBaseLib.h" uint8_t radar_pos; uint8_t radar[38][3]=\ {{10,14,10},{10,13,10},{10,12,10},{10,11,10},{10,10,10}\ ,{10,9,10},{10,8,10},{10,7,10},{10,6,10},{10,5,10}\ ,{10,6,10},{10,7,10},{10,8,10},{5,9,10},{10,10,10}\ ,{10,11,10},{10,12,10},{10,13,10},{10,14,10},{10,15,10}\ ,{10,16,10},{10,17,10},{10,18,10},{10,19,10},{10,20,10}\ ,{10,21,10},{10,22,10},{10,23,10},{10,24,10},{10,23,105}\ ,{10,22,10},{10,21,10},{10,20,10},{10,19,10},{10,18,10}\ ,{10,17,10},{10,16,10},{10,15,10}}; void servo(uint8_t s1, uint8_t s2, uint8_t s3) { } int main(void) { initRobotBase(); radar_pos=0; startStopwatch1(); moveAtSpeed(100,100); while(1) { if (getStopwatch1()>1000) // eine Radar-Position pro Sekunde { servo(radar[radar_pos][0],radar[radar_pos][1],radar[radar_pos][2]); radar_pos++; if (radar_pos == 38) radar_pos=0; setStopwatch1(0); } task_RP6System(); } return(0); }







Zitieren

Lesezeichen