Hallo Leute, hab ein Problem. Will alle ADCs im Interrupt auslesen lassen und in ein Array Speichern lassen. Dieses Funktioniert aber nicht. die ersten 0-7 ADC Werte stimmt aber die von PortK also 7-15 funktionieren nicht. Weiß einer woran es liegt? Code dürfte im Anhang sein. Schonmal danke!
Peter schrieb: > Weiß einer woran es liegt? > Code dürfte im Anhang sein. >> if (channel>>7) Da hast du bestimmt schon 20 mal draufgeguckt. Bäume, Wald und so. mfg.
Sorry steh ich gerade so auf dem Schlauch? Hab gerade schon
if (channel>=7)
draus gemacht und auch
if (channel >= 16)
{
channel = 0;
}
und es funktioniert immer noch nicht.
Peter schrieb: > if (channel>=7) > draus gemacht und auch > > if (channel >= 16) > { > channel = 0; > }
1 | if(channel > 7) |
2 | .
|
3 | .
|
4 | if(channel > 15) channel = 0; |
Das passt besser. mfg.
Also ich weiß noch nicht wieso aber es geht von dem Port nur Bit 1
>> ADMUX |=(1<<REFS0)+(0b00000111&&channel);
^^ ^^1 | ADMUX =(1<<REFS0)+(0b00000111&channel); |
2 | ^ ^ |
= und bitweise verknüpfen! Bei dir steht ausgerechnet: ADMUX |=(1<<REFS0)+1; Ausser bei channel == 0. Aber da du das veroderst, bleibt die 1 hinten ewig stehen. mfg.
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.