RE: Opět jsem v PICu(i)

Miroslav Draxal evik na volny.cz
Úterý Listopad 15 21:19:52 CET 2016


Můžete poslat disasemler oné podmínky, která hází problémy?
Míra

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

A opět nové kolo. Přidal jsem I2C komunikaci a je opět zle.

Používám dvě unsigned long cas, sepni proměnné a když je porovnávám cas ==
sepni , vše chodí skvěle.
V okamžiku porovnání "cas >= sepni" nebo "cas>sepni"  je výraz často
pravdivý i když je ve skutečnosti cas < sepni .

Zajímavé je, když udělám výraz "(sepni<cas || sepni==cas), tak to funguje
jak potřebuji.

A nejsem sám, stejný problém http://www.microchip.com/forums/m726589.aspx

Jen nemohu nikde v dokumentaci najít, proč to tak je.

Oja




On 11/14/2016 16:13, Ondřej Janovský wrote:
> No jo, stárnu a hloupnu. Po vyčlenění kódu do nové aplikace vše chodí 
> jak má, takže problém bude někde v jiné části.
> Děkuji všem za pomoc.
> Oja
>
>
> On 11/11/2016 10:36, Ondřej Janovský wrote:
>> 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
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


_______________________________________________
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