Hallo ich bin irgendwie zu blöd für den ADC Ich möchte einfach ADC0 auslesen und als compare1a wert nehmen.dann adc1 auslesen und als wert für compare1b nehmen. Ich habe jetzt schon die ganze zeit hin und her versucht ich verstehe irgendwie nicht wie ich den Kanal wechsel und dann wieder das Register ADCH benutzen kann ohne das es Effekt auf den vorigen Kanal nimmt.Bis jetzt ändern sich immer beide PWM Kanäle.Warscheinlich ist es weil ich jedesmal adch nehme aber wie geht es richtig? Admux = &B01100000 Adcsra = &B11010100 Sreg.7 = 1 Do Pwm1a = Adch Admux = &B01100001 Adcsra = &B11010100 Pwm1b = Adch Loop End
Du musst warten (oder besser was anderes tun) bis der ADC mit der Wandlung fertig ist. ...
Dein Programm ist ziemlich unvollständig. Wo schaltest Du denn z.B. den PWM-Modus deines Timers an? Wo schaltest Du den Timer überhaupt an? Schlage doch einfach mal folgende Begriffe in deiner BASCOM-Hilfedatei nach: Config TIMER Config ADC Getadc Dann sollte dir einiges klar werden... Gruß Jonathan
Hi
>aber wenn ich z.B. eine waitms einbaue geht es trotzdem nicht
Weil so etwas Unsinn ist. In 'Adcsra = &B11010100' ist das ADSC-Bit (von
dir) versteckt. Das wird zu Starten von dir auf 1 gesetzt und vom ADC
gelöscht, wenn er fertig ist. Also muss man nur das löschen abwarten.
Und fertig.
Du willst übrigens ADC0 nur einmal lesen?
MfG Spess
Ah also muss ich nur sagen wenn adsc=0 dann nächste messung und das ganze wieder auf 1 setzen richtig
Hi >Ah also muss ich nur sagen wenn adsc=0 dann nächste messung und das >ganze wieder auf 1 setzen richtig Jain. Es geht auch mit dem ADC-Interrupt. Der wird, wenn freigegeben, ausgelöst, wenn der ADC fertig ist. Außerdem ist das ständige Laden von Pwmxy auch Unsinn. Das macht man beim Overflow des Timers und nicht irgendwann. Übrigens, mit Satzzeichen liest sich so etwas besser. MfG Spess
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.