Re: Vodoměr

Pavel Hudecek edizon na seznam.cz
Neděle Srpen 7 23:10:15 CEST 2016


Asi tak. Lidé si programy často zbytečně komplikují tím, že se snaží 
procesoru ušetřit práci. Často mu jí v konečném důsledku přidělají:-)

Kdybych měl tohle řešit a očekávaný průtok by vedl na měření času mezi 
impulzy, čas bych ukládal v přerušení od timeru co to měří a výpočet 
(floatový) bych prováděl někde ve funkci "cekani", která se dokola volá, 
když se má čekat. A pokud by očekávaný průtok byl v řádu sekund stabilní, 
nejspíš by to bylo v sekci začínající "if (sekSync==1)", takže výpočet by 
probíhal ve volném čase, cca 1x za sekundu. Ale stejně dobře by to mohlo být 
v místě, kde je kód spouštěný po odeslání dat.

Jinak zjednodušit pro 8b aritmetiku to jde, ale za předpokladu, že např. 
požadovaná přesnost je horší než 1 % a min/max průtoky jsou max. 1:2. Pak se 
to celé může počítat v unsigned charu:-)

PH

-----Původní zpráva----- 
From: Vláďa Anděl
Když jsem měl snahu dost věcí dělat v asm, taky bych uvažoval tímto
způsobem. V céčku si to jednoduše vydělím v požadované přesnosti a pak
se jen podívám, že to není až tak dlouhé a že je to i dostatečně rychlé.
Nedělám si problémy, když nemusím :-)
Anděl

Dne 7.8.2016 v 20:35 Miroslav Draxal napsal(a):
> Ale počítám, jen se ptám, jestli někdo nezná nějakou fintu jak to
> zjednodušit pro 8bit.
>
> -----Original Message-----
> From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Admin 
> HWnews
> No a proc to tedy tak nepocitate...ja to takhle delam v tom solarnim 
> reglu.
>
> Staci vam si zavest dve pocitadla....jedno bude merit cas a druhe 
> proteceny
> objem. Staci si jen zvolit s jakou presnosti to ma byt.
>
> zvolte si jako jednotky treba ul tedy s kazdym pulzem z cidla pripoctete 
> do
> objemu 16461ul pak staci zvolit druhe pocitadlo tak, aby po vynasobeni
> nejakym vhodnou dvojkovou mocninou tedy shr x vyslo ul/min nebo ul/h co
> proste chcete.
>
> Dne 7.8.2016 v 20:06 Miroslav Draxal napsal(a):
>    Takhle měřím čas, za jak
>> dlouho proteče  0,0164609053497942litru. 



Další informace o konferenci Hw-list