<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-2" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Diky za odpovedi. Tu prvni variantu s celociselnym delenim bohuzel
zavrhuji, potrebuji to provest behem par instrukci a ne cekat na deleni
:). Je dost mozne ze jazyk CodeVision C plne neodpovida specifikacim C.
Coz mi neprimo potvrdil i autor po mailu.<br>
(zapomnel jsem podotknout ze program byl pro Atmega32 , memory model :
Small )<br>
<br>
Vyzkousim jeste "spravnejsi" pretypovani :<br>
<pre wrap=""><font color="#3333ff">ptrL = (unsigned char*)&amp;addr;</font>

Jinak co se tyce dalsich BUG, napriklad problem s integer operacemi.
uvedu priklad

<font color="#3333ff">unsigned int cislo;
cislo = 1234;
cislo &amp;= 0b 0000111111111111; //0x0FFF
//cislo by nyni melo byt 1234, jenze neni. je 0x0000</font>

Zajimava zaludnost se taky skryva v adresovani poli. Dle manualu by pole mohlo byt az s 16bit indexem (unsig.int).
Nekdy to funguje, jindy ne. To je ale problem v jinem mem programu.
Opet uvadim jen priklad a jde mi o to zda promenna i jakozto index pole se ma nejak pretypovat nebo ne. Standartni C jazyk nic takoveho nevyzaduje, ani CAVR to v manualu nema.
<font color="#3333ff">
unsigned char pole[511];
unsigned int i;
for (i=0; i&lt;512; i++) pole[i]=0xFA;</font>

BTW. mate nekdo vyssi verzi nez CAVR 1.23.6a (standart) ?

LP.



</pre>
<br>
<br>
<br>
<pre wrap="">
</pre>
<br>
<br>
</body>
</html>