bei dem Code kriege ich volgenden Fehler:Code:#define vli_on (PORTC|=IO_PD5) #define vli_off (PORTC&=~IO_PD5) #define vlm_on (PORTC |= IO_PC2) #define vlm_off (PORTC &= ~IO_PC2) #define vla_on (PORTC|=IO_PC3) #define vla_off (PORTC&=~IO_PC3) #define vri_on (PORTC|=IO_PC5) #define vri_off (PORTC&=~IO_PC5) #define vrm_on (PORTC|=IO_PC7) #define vrm_off (PORTC&=~IO_PC7) #define vra_on (PORTC |= IO_PD6) #define vra_off (PORTC &= ~IO_PD6) uint8_t vli, vlm, vla, vri, vrm, vra; // Positionen der Servos uint8_t i; /*****************************************************************************/ // Main function - The program starts here: void delay(uint8_t d) { uint16_t d1, dummy; for (d1=d*255; d1>0; d1--) dummy^=d1; } int16_t main(void) { initRP6Control(); initLCD(); writeString_P("\n\nRP6 CONTROL M32 I2C Master Example Program!\n"); writeString_P("\nMoving...\n"); // --------------------------------------- WDT_setRequestHandler(watchDogRequest); BUMPERS_setStateChangedHandler(bumpersStateChanged); ACS_setStateChangedHandler(acsStateChanged); BATTERY_setLowVoltageHandler(batteryVoltageLow); // --------------------------------------- I2CTWI_initMaster(100); I2CTWI_setRequestedDataReadyHandler(I2C_requestedDataReady); I2CTWI_setTransmissionErrorHandler(I2C_transmissionError); sound(180,80,25); sound(220,80,25); setLEDs(0b1111); showScreenLCD("################", "################"); mSleep(500); showScreenLCD("I2C-Master", "Behaviours"); mSleep(1000); setLEDs(0b0000); // --------------------------------------- // Setup ACS power: I2CTWI_transmit3Bytes(I2C_RP6_BASE_ADR, 0, CMD_SET_ACS_POWER, ACS_PWR_HIGH); // Enable Watchdog for Interrupt requests: I2CTWI_transmit3Bytes(I2C_RP6_BASE_ADR, 0, CMD_SET_WDT, true); // Enable timed watchdog requests: I2CTWI_transmit3Bytes(I2C_RP6_BASE_ADR, 0, CMD_SET_WDT_RQ, true); startStopwatch1(); startStopwatch2(); startStopwatch4(); showScreenLCD("Active Behaviour", ""); cli(); TCCR1B = (0 << WGM00) | (1 << WGM01); // CTC-Mode TCCR1B |= (0 << COM00) | (0 << COM01); // ohne OCR-Pin TCCR1B |= (0 << CS02) | (1 << CS01) | (0 << CS00); // prescaler /8 TIMSK = (1 << OCIE0); // Interrupt ein OCR1A = 9; // 100kHz? DDRD |= IO_PD5; // SERVO_OUT -> OUTPUT PORTD &= ~IO_PD5; // SERVO_OUT -> LOW DDRD |= IO_PC2; // SERVO_OUT -> OUTPUT PORTD &= ~IO_PC2; // SERVO_OUT -> LOW DDRD |= IO_PC3; // SERVO_OUT -> OUTPUT PORTD &= ~IO_PC3; // SERVO_OUT -> LOW DDRD |= IO_PC5; // SERVO_OUT -> OUTPUT PORTD &= ~IO_PC5; // SERVO_OUT -> LOW DDRD |= IO_PC7; // SERVO_OUT -> OUTPUT PORTD &= ~IO_PC7; // SERVO_OUT -> LOW DDRD |= IO_PD6; // SERVO_OUT -> OUTPUT PORTD &= ~IO_PD6; // SERVO_OUT -> LOW vli=vlm=vla=vri=vrm=vra=100; sei(); while(true) { uint8_t key = getPressedKeyNumber(); // This function returns a 0 if no key is pressed and // the key number from 1 to 5 otherwise. if(key) // If a key is pressed... (key != 0) { // ... we update the values // on the LCD display: switch(key) { case 1: break; case 2: break; } } //behaviourController(); task_LCDHeartbeat(); task_checkINT0(); task_I2CTWI(); vri=120;delay(20); vli=80;delay(20); vra=120;delay(20); vla=80;delay(20); } return 0; } ISR (TIMER1_COMP_vect) { static uint16_t count=1; // Servoansteuerung (count>vli)?vli_off:vli_on; (count>vlm)?vlm_off:vlm_on; (count>vla)?vla_off:vla_on; (count>vri)?vri_off:vri_on; (count>vrm)?vrm_off:vrm_on; (count>vra)?vra_off:vra_on; if(count<2000) count++; else count=0; }
Compiling: RP6Control_10_Move2.c
avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=RP6Control_10_Move2.lst -I../../RP6lib -I../../RP6lib/RP6control -I../../RP6lib/RP6common -std=gnu99 -MD -MP -MF .dep/RP6Control_10_Move2.o.d RP6Control_10_Move2.c -o RP6Control_10_Move2.o
RP6Control_10_Move2.c:1010: warning: 'TIMER1_COMP_vect' appears to be a misspelled signal handler
und die Beine bewegen sich nicht.
DIV blenderkid







Zitieren

Lesezeichen