зачем столько условной компиляции не могу разобраться. // Executes self-programming command
spmSPM: movw r31:r30, r17:r16
rcall spmWait
in r20, SREG cli
#ifdef __RAMPZ__ in r21, RAMPZ out RAMPZ, r18 #endif
#ifdef __MEMSPM__ sts SPMREG, r22 #else out SPMREG, r22 #endif #ifdef __RAMPZ__ espm #else spm #endif dw 0xFFFF nop #ifdef __RAMP__ out RAMPZ, r21 #endif out SREG, r20 ret
1. что такое и зачем __RAMPZ__ - если МК больше 64Кб? 2. что такое и зачем __MEMSPM__ 3. зачем размещается слово в памяти «dw 0xFFFF», при отладке в AVR Studio попадая, на эту команду выдает предупреждение – что команда не известна.
Сообщение отредактировал _Алекс - Sep 30 2007, 15:19
|