<HTML><HEAD></HEAD>
<BODY dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial'; COLOR: #000000">
<DIV>Zdravim, mam takuto cast kodu:</DIV>
<DIV>Tu premennu tmp_counter som chcel definovat vnutri toho bloku s tim ze bude 
platna len v tom bloku a </DIV>
<DIV>na zaciatku sa inicializuje, kvoli setreniu miesta v pamati. Lenze to 
nefunguje prelozi sa to viz. nizsie, ako keby sa ta hodnota nemenila cize to 
vsetko potom kompilator ignoruje</DIV>
<DIV>Ked tu definiciu dam pred to while tak to funguje. chcel som len aby 
zbytocne nezaberala miesto. Dalo by sa to aj s cyklom for v tomto pripade, ale 
ma zaujima ked by tam malo byt while</DIV>
<DIV>Da sa to nejak inak urobit? </DIV>
<DIV> </DIV>
<DIV>dik.</DIV>
<DIV>michal</DIV>
<DIV> </DIV>
<DIV>uint32_t tmp32 = 0;</DIV>
<DIV>uint16_t tmp16;</DIV>
<DIV> </DIV>
<DIV>while(1){</DIV>
<DIV>        uint16_t tmp_counter = 
2048;</DIV>
<DIV>        if (bit_is_clear(ADCSRA,ADSC)) 
{</DIV>
<DIV>            tmp16 = 
ADCL;    </DIV>
<DIV>            tmp16 |= 
((uint16_t)ADCH << 8);</DIV>
<DIV>            tmp32 += 
tmp16;</DIV>
<DIV>            
tmp_counter--;</DIV>
<DIV>            
AD_START;</DIV>
<DIV>            if 
(tmp_counter == 0) {</DIV>
<DIV>                
tmp32 >>= 5;</DIV>
<DIV>                
offset_I = tmp32;</DIV>
<DIV>                
</DIV>
<DIV>                
utoa((unsigned int)tmp32,s_out,10);</DIV>
<DIV>                
lcd_gotoxy(0,0);</DIV>
<DIV>                
lcd_puts(s_out);</DIV>
<DIV>                
_delay_ms(3000);</DIV>
<DIV>                
lcd_clrscr();</DIV>
<DIV>                
break;            </DIV>
<DIV>            }</DIV>
<DIV>        }</DIV>
<DIV>        </DIV>
<DIV><FONT face="Courier New"></FONT> </DIV>
<DIV><FONT face="Courier New"></FONT> </DIV>
<DIV> </DIV>
<DIV>   245:         if 
(bit_is_clear(ADCSRA,ADSC)) {</DIV>
<DIV>0000015E  SBIC 0x06,6        Skip 
if bit in I/O register cleared </DIV>
<DIV>0000015F  RJMP PC-0x0001        
Relative jump </DIV>
<DIV>   
246:             
tmp16 = ADCL;    </DIV>
<DIV>00000160  IN R24,0x04        In 
from I/O location </DIV>
<DIV>   
247:             
tmp16 |= ((uint16_t)ADCH << 8);</DIV>
<DIV>00000161  IN R24,0x05        In 
from I/O location </DIV>
<DIV>   
250:             
AD_START;</DIV>
<DIV>00000162  SBI 0x06,6        Set bit 
in I/O register </DIV>
<DIV>00000163  RJMP PC-0x0005        
Relative jump </DIV></DIV></DIV></BODY></HTML>