Nove AVR - SIGROW.OSC20ERR5V

Miroslav Mraz mrazik na volny.cz
Čtvrtek Duben 30 20:24:38 CEST 2020


Pro záporná čísla se posuv vpravo a dělení mocninou 2 chová prostě 
jinak. Dělení se musí _vždy_ chovat tak, aby výsledek po zpětném 
vynásobení dělitelem a přičtení zbytku po dělení zase dal původní číslo. 
Posuv vpravo to prostě uřízne. Co s tím provede překladač je jiná otázka.

Mrazík

Dne 30. 04. 20 v 17:47 Hynek Sladký napsal(a):
> Asi bude vhodne podivat se do listingu, jestli deleni automaticky 
> pridava zaokrouhleni... tj. pricteni poloviny delitele jeste pred delenim?
> 
> Na kalkulacce to vychazi presne .5
> 
> Hynek Sladky
> 
> 
> 
> Dne 30.4.2020 v 15:16 Pavel Hudecek napsal(a):
>>
>> No, to bylo přesně jedním z cílů a dokonce to vypadalo na funkčnost, 
>> ale vzhledem k testu ve větším programu se chyba asi ztratila pořadím 
>> includů. Teď když to mám separované, protestuje.
>>
>> No neva. Makro tedy bude z F_CPU dělat F_CPUcorrect.
>>
>> Delay stejně téměř nepoužívám. Obvykle mám cekej a to používá přerušení.
>>
>> A ještě jednou, tentokrát záporně:
>>
>> #define F_test1 (F_CPUnom + ((F_CPUnom * (int8_t)-50) >> 10))
>>
>> #define F_test2 (F_CPUnom + ((F_CPUnom * (int8_t)-50) / 1024L))
>>
>> 19023437
>>
>> 19023438
>>
>> (rozdíl 1 je i při -6)
>>
>> A teď co je „správnější“?
>>
>> PH
>>


Další informace o konferenci Hw-list