Rutina pro dělení čísel s přesností na 2 desetinná místa

Dobrý den,

sháním rutinu na dělení dvou čísel v rozsahu 0 - 999 (desítkově), s přesností na 2 desetinná místa. Desetinná čárka může být pevná. Na internetu jsem sehnal pouze rutinu, která desetinná místa ořeže (např. 7/3 = 3).
Potřebuji ji pro PIC řady 16Fxx.

Díky za pomoc.

Vlasťa

:arrow_right: administrator: přejmenováno z "Dělení čísel pomocí PIC"

Škoda, že nepracujete s řadou 18F, pro ní je od microchipu napsána celá matematická knihovna…

Jaké máte důvody používat řadu 16F?

No, přiznám se, že mne to ani nenapadlo … :slight_smile:.
S řadou 16Fxx pracuji proto, že ji učíme u nás na škole. Momentálně nemám žádný kousek řady 18Fxx a tak jsem chtěl použít 16F883, které mám v šuplíku.

Předpokládám, že tu knihovnu najdu na stránkách Microchipu? Podívám se na to.

Díky!

Vl.

No myslím, že škola by měla držet krok s dobou…:slight_smile:, stejně ti studenti, kteří se tomu budou chtít vážně věnovat, přejdou minimálně na 18F.
Knihovna je určitě součástí balíku s C kompilátorem MCC18 od microchipu.

Ha ha,

o držení kroku s dobou bychom mohli hodně dlouho diskutovat :slight_smile:

Tušil jsem, že to bude v C. To je pro mne trošku problém. Potřeboval bych to v assembleru.

Vl.

Okem pesimisty to může vypadat jako problém, okem optimisty zase jako výzva…

…nemužeme přeci chtít po starých procesorech a starých vývojových prostředích řešit nové problémy s takovou jednoduchostí a rychlostí jako ty staré…

Opravdu tu nechci diskutovat o držení kroku, bylo by to nadlouho, a stejně bych nic neovlivnil, ale omezit se pouze na řadu 16F a asm, mi přijde trochu krátkozraké…

Jinak jsem si vzpomněl, že nedávno (1 až 2 roky) jsem taky řešil přístroj s PIC16F887 (nepotřeboval jsem takový výkon, funkce a periferie stačily a byl o pár korun levnější než PIC18F), kde jsem dělil, samozřejmě v C, tam jde dělit snadno a desetinnou čárku jsem si ošetřil sám, to už neni takový problém. Takže i takto to lze…

Už jsem něco našel:
piclist.com/techref/microchi … /index.htm

Proč si myslíte, že programovat v assembleru je krátkozraké?

Vl.

To si vůbec nemyslím, psal jsem, že omezit se jenom na asm je krátkozraké (tedy programovat jenom v něm). Céčko má své nesporné výhody a výhod je vždy výhodné využívat:). I já programuju v asm, ale až tehdy, kde je daný úkol v céčku neřešitelný (většinou co do rychlosti nebo časové přesnosti).

Nakonec přeci jde kombinovat C i asm v jednom projektu.

Tím daným úkolem jsem měl namysli část programu:)

Jasně …
Problém je v tom, že na výuku PIC máme vyčleněno všehovšudy 48 hodin (za celé čtyřleté maturitní studium). Myslím, že už se to tu kdysi diskutovalo :slight_smile:.

Vl.

Tohle by ti nestačilo? https://forum.mcontrollers.com/t/matematika-pic-24b-pro-osmibitove-mikroprocesory/412/10

Díky, Honzo,

tento soubor jsem už mezitím taky naše. Už jich mám několik podobných, ale ještě jsem se nedostal k tomu, abych je vyzkoušel. Teď mám týden volna, tak snad to někam pokročí :slight_smile:.

Díky za snahu!

Vl.

Ty fungujou, sám je používám. Mám je předělané i na 18F.

Zdravím.
Možno trochu od veci ,ale mám Chipona 2 ,obsahuje 16F877.
A pozerám v datasheete že pinovo by mohol byť kompatibilný napr.z PIC18F4220 V asm. sa iste dá programovať,žiadne pagesel !!! Len neviem kde sa naučiť C-čko vhodné pre mikrokontroléry.
V škole som sa neučil ani asm.
Relatko.

PAGESEL se vyhneš, ale BANKSEL se stějně nevyhneš ani u 18F…, třeba ne u všech, tak jsem je nezkoumal, ale u 18F4620 určitě ne.