Zahada C atmel studio
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Sobota Květen 3 13:56:21 CEST 2014
Muze mi nekdo vysvetli, proc v Atmel studiu se mi pri nasledujicim kodu
int16_t x = 0;
int16_t y = CharHeight(FontTahoma_12)+2;
uint8_t c = 0x20;
DrawChar(0x7f, x, y, FontTahoma_12);
while (y < 320)
{
uint8_t w = CharWidth(c, FontTahoma_12);
<-----------------------------------------
if (x + w > 240)
{
x = 0;
y += CharHeight(FontTahoma_12) + 2;
continue;
}
DrawChar(c, x, y, FontTahoma_12);
x += w + 2;
c++;
if (c >= 0x80) c = 0x20;
}
dostane do oznacene funkce hodnota c =0x80??? Evidentne je to
optimalizaci (O1), pokud ji vypnu, funguje to OK, asi by pomohly i jine
finty na promenne (volatile atp.) ale co je sakra spatne? Pri krokovani
to ruzne poskakuje po radcich a nezjistim nic.
Mozna jsem jen pri sobote slepej nebo si na necem sedim, pujdu se projet
na kole radsi ;-)
---
This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com
Další informace o konferenci Hw-list