Re: Opět jsem v PICu(i)

Ondřej Janovský ondrej.janovsky na alarex.cz
Úterý Listopad 15 20:36:54 CET 2016


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




Další informace o konferenci Hw-list