ne das geht nicht, aber ich habe mal Radbruches Variante versucht, versteh zwar net was er da macht aber egal....
allerdings sagt der zur letzten Zeile_"expectet declaration or statement of the end of input"....ich weiß jetzt nicht genau was er da von mir will!!!
Code:#include "RP6RobotBaseLib.h" unsigned char brightOld=0; unsigned char bright=0; void light(void){ writeIntegerLength(brightOld, DEC, 1); writeIntegerLength(bright, DEC, 1); writeIntegerLength(adcLSR, DEC, 4); if(adcLSR<=400){ bright = 1; } else if((adcLSR<1000)&&(adcLSR>400)){ bright = 0; } else if (adcLSR>=1000){ bright = 2; } if(bright != brightOld){ switch(bright){ case 0: writeString_P("\nSchon bessa:)!!\n"); break; case 1: writeString_P("\nMach das Licht an!\n"); mSleep(1000); break; case 2: writeString_P("\nMir ist es hier zu hell!\n"); mSleep(1000); break; } brightOld=bright; } } void task_ADC(void) { static uint8_t current_adc_channel = 0; if(!(ADCSRA & (1<<ADSC))) { // ADCSRA |= (1<<ADIF); switch(current_adc_channel) { case 0: adcBat = ADC; startADC(ADC_MCURRENT_L); break; case 1: adcMotorCurrentLeft = ADC; startADC(ADC_MCURRENT_R); break; case 2: adcMotorCurrentRight = ADC; startADC(ADC_LS_L); break; case 3: adcLSL = ADC; startADC(ADC_LS_R); break; case 4: adcLSR = ADC; startADC(ADC_ADC0); break; case 5: adc0 = ADC; startADC(ADC_ADC1); break; case 6: adc1 = ADC; startADC(ADC_BAT); break; } if(current_adc_channel == 6) current_adc_channel = 0; else current_adc_channel++; } void main (void) { initRobotBase(); while(true) { task_ADC(); light(); } return 0; }







Zitieren

Lesezeichen