RE: Opět jsem v PICu(i)

Miroslav Draxal evik na volny.cz
Pátek Listopad 11 14:06:56 CET 2016


Pokud je 
char a[5], b[5];

a používám XC8 1,38 a MPLABx3.45 a simuluji 18f2620 tak mi to hází výsledky
OK. Můžete to popsat trochu víc, za jakých situací?

V případě, že vám to hodí chybný výsledek, koukněte se oknem Windows/Pic
memory views/File registers  v hex formátu na adresy polí, co je v nich . Ve
verzi MPLABx 3.40 se v okně Variables se občas zobrazovaly nesmysly.
Reportoval jsem to Microchipu, ale jestli to opravili v nové verzi, nevím.
Nezkoušel jsem zatím. Tím chci říct, že v polích může být jiná hodnota, než
se zobrazuje ve Variables. (zápis od jinuď)

-----Original Message-----
From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Ondřej
Janovský
Sent: Friday, November 11, 2016 10:37 AM
To: HW-news
Subject: Opět jsem v PICu(i)

Zdravim,

koukám jako jelen, když mi PIC18 porovnává dva prvky pole unsigned long,
jsou v nich 0 a on tvrdí, že jeden prvek je větší než druhý. Tvrdí to občas,
ale netuším, jak na to přijde. Ze zoufalství jsem doplnit typy i do If, ale
nic to nepomáha.

signed char ret = 0;
     if ((unsigned long)a[0] > (unsigned long)b[0]) {
         ret = 2;
     } else if ((unsigned long)a[0] < (unsigned long)b[0]) {
         ret = -2;
     } else {

         if ((unsigned long)a[1] > (unsigned long)b[1]) {
             ret = 1;
         } else if ((unsigned long)a[1] < (unsigned long)b[1]) {
             ret = -1;
         }
     }
     return ret;


Oja

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list