|
элементов массива. После инициализации массива, компилятор о нем "забывает". Когда обрабатывается выражение, то константным выражением является обращение по фиксированному адресу, не более того:
;kf[1]
\ 000000C6 .... LDI R30,LOW((??kf + 2))
\ 000000C8 .... LDI R31,(??kf + 2) >> 8
\ 000000CA 9165 LPM R22,Z+
\ 000000CC 9174 LPM R23,Z
Обойти эту проблему можно, если константы определить симолтиески:
#define K1 1
#define K2 2
....
#deefine K7 7
static const __flash int kf[]={K1, K2,.... K7,....};
b /= K1 + K2 +... +K7;
E-mail: info@telesys.ru