[elektro] PIC 10 bit szorzás kérdés
Rancz Lajos
csiga at fosch.com
Sat Feb 7 08:17:27 CET 2009
Szia!
C-ben egyszerűbb az biztos, sőt lehet akár olyan hatékony is lehet mint
a gépikód, de float műveletekkel nem fog menni usec időtartományban,
mivel lebegőpontos műveletvégző egység híján szoftveres emuláció, ami
nagyon lassú.
Üdv,
Lajos
Huszti Andras írta:
> Hali!
>
> C-ben nem egyszerubb?
>
> float integrate(float in, float dt) {
> static float result = 0;
> if (dt != 0) {
> result += in * dt;
> } else {
> //t.b.d. error condition
> }
> return result;
> }
>
> esetleg kulturaltabb lehet:
>
> typedef struct _Integrator {
> float in;
> float out;
> float dt;
> } Integrator;
>
> unsigned int intergrate (Integrator *integrator) {
> unsigned int result = RET_ERROR;
> if (integrator->dt != 0) {
> integrator->out += integrator->in * integrator->dt;
> integrator->out = RET_OK;
> //t.b.d. overflow and underflow detection
> } else {
> //error condition
> result = RET_ERROR;
> }
> return result;
> }
>
> En csinaltam regebben szabalyozastechnikai alaptagokat modulban. PID
> szabalyzotol egeszen a PT1-eg minden volt benne. PIT1D1 is meg PIT0D0
> is :) Kinek mi tetszik jobban.
>
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list