Hallo,
ich habe ein Verständnisproblem bei der Handhabung von Arrays im AVR
Studio. Mit der AVR Lib greift man auf Arrays scheinbar wie folgt zu:
1 | for(tmp=0; tmp<=7; tmp++){
|
2 | OCR1A = pgm_read_word(pwmtable_8B+tmp);
|
3 | ...
|
4 | }
|
Normalerweise kenn ich das in C so:
1 | for(tmp=0; tmp<=7; tmp++){
|
2 | OCR1A = pwmtable_8B[tmp];
|
3 | ...
|
4 | }
|
Wenn ich jetzt mit zwei unterschiedlichen Variablen auf dieselbe Tabelle
zugreifen will kommt es zu folgendem Problem:
1 | for(tmp=0; tmp<=7; tmp++){
|
2 | OCR1A = pgm_read_word(pwmtable_8B+2);
|
3 | OCR1B = pgm_read_word(pwmtable_8B+6);
|
4 | ...
|
5 | }
|
In normal C würde sowas mit der o.g. Methode funktionieren, aber mit der
AVR Lib geht das irgendwie schief und er zählt jedes mal "weiter" sprich
OCR1B wäre nicht "+6" sondern "+8". Woran liegt das? kann man das
Problem "umgehen"?
Grüße,
Philipp