Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

razlika realnog vremena???

[es] :: C/C++ programiranje :: razlika realnog vremena???

[ Pregleda: 3236 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

damir0205

Član broj: 22726
Poruke: 107
*.cmu.carnet.hr.



Profil

icon razlika realnog vremena???29.09.2005. u 17:50 - pre 198 meseci
Pisem program koji bi trebao odredjivati razliku izmedju dva realna vremena, gdje
je pocetno vrijeme zadano ram_satima, ram_minutama i ram_sekundama konacno vrijeme bi trebali biti sati, minute i sekunde, a njihovu razliku bi trebalo prikazati u varijablama stop_sati, stop_minute i stop_sekunde. Navedena funkcija mi ne radi, pa ako neko zna, bio bih zahvalan na pomoci?

void proracun_stoperice_nakon_reseta(void)
{ unsigned char sati, minute, sekunde, stop_sati, stop_minute, stop_sekunde, ram_sati, ram_minute, ram_sekunde;
unsigned long int sekunde_poc, sekunde_pow_on, razlika;

sekunde_poc = ram_sati*3600 + ram_minute*60 + ram_sekunde;
sekunde_pow_on = sati*3600 + minute*60 +sekunde;
if(sekunde_pow_on<sekunde_poc)
{sekunde_pow_on=sekunde_pow_on + 86400;}
stop_sati= (sekunde_pow_on - sekunde_poc)/3600;
stop_minute=( sekunde_pow_on - sekunde_poc-sati*3600)/60;
stop_sekunde= sekunde_pow_on - sekunde_poc- sati*60 - minute*60;
}
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: razlika realnog vremena???29.09.2005. u 21:36 - pre 198 meseci
Mislim da ce ti ovo koristiti.
time.h
 
Odgovor na temu

dejandj

Član broj: 92
Poruke: 3620
*.rcub.bg.ac.yu.



Profil

icon Re: razlika realnog vremena???30.09.2005. u 08:09 - pre 198 meseci
Citat:
NrmMyth: Mislim da ce ti ovo koristiti.
time.h


Isto to, samo "lepse":
http://www.cplusplus.com/ref/ctime/difftime.html
 
Odgovor na temu

damir0205

Član broj: 22726
Poruke: 107
*.cmu.carnet.hr.



Profil

icon Re: razlika realnog vremena???01.10.2005. u 14:04 - pre 198 meseci
Hvala na pomoci, riješio problem sa navedenom funkcijom. Da li mi netko može reči zašto stvar ne radi dobro ako su sati, minute, sekunde, ram_sati, ram_minute i ram_sekunde varijable tipa unsigned char i ako njihova vrijednost nikad nije veća od 60 sigurno?

void proracun_stoperice(void)
{unsigned long int dan_utj, sati, minute, sekunde, ram_sati, ram_minute, ram_sekunde, proteklo_vrijeme, sekunde_real_time, sekunde_start_time, sekunde_dana, stop_minute, stop_sekunde, stop_sati;
read_time_and_date(); //funkcija koja čita sate, minute i sekunde iz PCF8583
sekunde_dana = dan_utj*86400;
sekunde_real_time = sati*3600 + minute*60 + sekunde;
sekunde_start_time = ram_sati*3600 + ram_minute*60 + ram_sekunde;

proteklo_vrijeme = sekunde_dana + sekunde_real_time - sekunde_start_time;

stop_sati = (proteklo_vrijeme/3600);
stop_minute = ((proteklo_vrijeme - (stop_sati*3600))/60);
stop_sekunde = (proteklo_vrijeme - (stop_sati*3600) - (stop_minute*60));
}

[Ovu poruku je menjao damir0205 dana 01.10.2005. u 15:08 GMT+1]
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: razlika realnog vremena???01.10.2005. u 14:33 - pre 198 meseci
Jeli mozes locirati gresku?
 
Odgovor na temu

dejandj

Član broj: 92
Poruke: 3620
*.rcub.bg.ac.yu.



Profil

icon Re: razlika realnog vremena???01.10.2005. u 16:04 - pre 198 meseci
Iz "dosta prostog" razloga...
Tvoja specifikacija NIJE u skladu sa standardom jer "stanadard" uzima u obzir ineke "sitnice" koje ti ni u snu NISI imao u vidokrugu...

Ovo NE znaci suprotno, na zalost!

Ima razloga za 61 sekundu npr...
A ima i ludjih sistema merenja vremena!

Sve, se, na kraju, svodi na "nulu" tj tzv. "nulto" vreme...

Tu ima gadnih problema...

Nula u principu oznacava nista i postavlja se sustinsko pitanje, da li je nula "broj"? Iako je jasno da nije, broj nicega je strasno "ozbiljan", komjuterasi su odlucili da ON bude "nesto", obicno, jedan, tj "kec"...

E sad kad(???) vreme pocinje?
To, em niko nezna, em ne ume da objasni...
Kako meriti "razliku" tako neceg?







[Ovu poruku je menjao dejandj dana 01.10.2005. u 17:18 GMT+1]
 
Odgovor na temu

damir0205

Član broj: 22726
Poruke: 107
*.cmu.carnet.hr.



Profil

icon Re: razlika realnog vremena???01.10.2005. u 17:17 - pre 198 meseci
Evo ovako otprilike. Cijeli program služi kao štoperica i napisan je za mikrokontroler. Podatak o trenutnom vremenu dobiva se iz satnog čipa, a mjerenje vremena počinje pritiskom tipke START.........., da dalje ne objašnjavam jer mislim da nije bitno. Ova druga funkcija koju sam napisao radi bez greške takva kakva je i cijeli program mi radi ok, ali nije ispravno izračunavao sljedeči izraz dok su sati, minute i sekunde bile deklarirane kao unsigned char varijable.

@dejandj
Tvoja specifikacija NIJE u skladu sa standardom jer "stanadard" uzima u obzir ineke "sitnice" koje ti ni u snu NISI imao u vidokrugu...

@dejandj Standard?

sekunde_real_time = sati*3600 + minute*60 + sekunde;

Zašto?



[Ovu poruku je menjao damir0205 dana 01.10.2005. u 18:36 GMT+1]
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: razlika realnog vremena???01.10.2005. u 20:06 - pre 198 meseci
Jesi prosao sa debuggerom tu funkciju?
 
Odgovor na temu

dejandj

Član broj: 92
Poruke: 3620
*.rcub.bg.ac.yu.



Profil

icon Re: razlika realnog vremena???02.10.2005. u 12:31 - pre 198 meseci
tm struktura i one funkcije za vreme su ANSI standard...

Taj, zadnji, "unsigned char" ne figurira u standardu.


[Ovu poruku je menjao dejandj dana 02.10.2005. u 13:32 GMT+1]
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: razlika realnog vremena???03.10.2005. u 16:02 - pre 198 meseci
Bez ulaska u to sta tvoj kod radi, mislim da nesto nisi inicijalizovao, ili si pregazio spoljasnje promenljive ....
Pogledaj tvoj kod malo prepakovan....
Code:

void proracun_stoperice(void){
   unsigned long int dan_utj,                // !!! Nije inicijalizovane !!! 
         sati, minute, sekunde,              // !!! Nisu inicijalizovane !!! 
         ram_sati, ram_minute, ram_sekunde,  // !!! Nisu inicijalizovane !!! 
         proteklo_vrijeme,                   // !!! Nije inicijalizovane !!! 
         sekunde_real_time,                  // !!! Nisu inicijalizovane !!! 
         sekunde_start_time, sekunde_dana,   // !!! Nisu inicijalizovane !!! 
         stop_minute, stop_sekunde, stop_sati; 
   read_time_and_date(); 
   sekunde_dana = dan_utj*86400;
   
   //Sta ce sada bit: sati=?, minute=?, sekunde=? ...
   sekunde_real_time = sati*3600 + minute*60 + sekunde; 
   //Sta ce sada bit: ram_sati=?, ram_minute=?, ram_sekunde=? ... 
   sekunde_start_time = ram_sati*3600 + ram_minute*60 + ram_sekunde;
   // ....
   proteklo_vrijeme = sekunde_dana + sekunde_real_time - sekunde_start_time;
   stop_sati = (proteklo_vrijeme/3600);
   stop_minute = ((proteklo_vrijeme - (stop_sati*3600))/60);
   stop_sekunde = ((proteklo_vrijeme - (stop_sati*3600) - (stop_minute*60));
}



[Ovu poruku je menjao idb dana 03.10.2005. u 17:03 GMT+1]
 
Odgovor na temu

damir0205

Član broj: 22726
Poruke: 107
*.dialin.iskon.hr.



Profil

icon Re: razlika realnog vremena???03.10.2005. u 19:19 - pre 198 meseci
Nije stvar u inicijalizaciji. Sati, minute i sekunde predstavljaju podatak o trenutnom vremenu i dobivaju se iz satnog čipa svaki put kad se izvrši program, a to se otprilike dogadja svakih 10ms. ram_sati i ram_minute i ram_sekunde je vrijeme u koje je pritisnuta tipka start i oni su konstanta sve dok se traje mjerenje. Mjerenje je u redu za sve vrijednosti sati osim ako sati nisu 11 ili 21 (znači program uredno broji stop_sate, stop_minute i stop_sekunde sve do jedne od tih vrijednosti). Za te vrijednosti sati (ako su sati unsigned char) proteklo_vrijeme mi ispada neki jako veliki broj, koji ni približno ne odgovara stvarnoj situaciji. Mislim da je stvar u kompajleru, posavjetovao sam se s kolegama s posla i oni misle tako. Nek me netko razuvjeri ako nije istina.

[Ovu poruku je menjao damir0205 dana 03.10.2005. u 20:22 GMT+1]
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: razlika realnog vremena???04.10.2005. u 09:13 - pre 198 meseci
Citat:
Mislim da je stvar u kompajleru
Mozda ti probleme pravi i kompajler, ali pogledaj ponovo funkciju void proracun_stoperice(void).
Sve promenljive koje se u njoj pojavljuju su lokalne. Sva racunanja koja izvrsis ce biti lokalnog karaktera i ostace zarobljena unutar funkcije, bez obzira ako istoimene promenljive imas i na globalnom nivou.
Neke izmene bi eventualno mogla izvrsiti funkcija read_time_and_date() - ne znam sta ona radi ...
 
Odgovor na temu

damir0205

Član broj: 22726
Poruke: 107
*.cmu.carnet.hr.



Profil

icon Re: razlika realnog vremena???05.10.2005. u 16:28 - pre 198 meseci
Sve varijable su globalne, jedina greska je sto sam ih u ovoj funkciji, prikazao kao lokalne, samo da se vidi kojeg su tipa. To je jedina razlika izmedju strvarnosti i ove funkcije koju sam stavio na forum. Po takvom tumacenju mogla bi bilo koja od dvadesetak funkcija raditi probleme, ali poprilicno sam siguran da to u ovom slucaju nije istina. Oprostite sto sam krivo prikazao deklaraciju varijabli.....
 
Odgovor na temu

nikoladsp
nikola radovanovic
trenutno-developer
novi sad

Član broj: 5455
Poruke: 193
*.leased.neobee.net.



Profil

icon Re: razlika realnog vremena???12.10.2005. u 17:16 - pre 198 meseci
ako si u prilici koristi windows-ov multimedija tajmer.ako ne onda ko sto ti rekose ljudi u prethodnim postovima:procackaj <time.h>

[Ovu poruku je menjao nikoladsp dana 12.10.2005. u 18:17 GMT+1]
ja sam panker sa diplomom kod moje mame...
 
Odgovor na temu

dejandj

Član broj: 92
Poruke: 3620
*.rcub.bg.ac.yu.



Profil

icon Re: razlika realnog vremena???13.10.2005. u 14:23 - pre 198 meseci
Ajd jos jednom...
Imas u "mom topicu" zvanom "problemi sa vremenom", funkcionalan win/ansi_C kod za operacije sa vremenom...

Nije problem da dodas ovu razliku u vremenu osim ako te interesuju delovi sekunde i nano sekunde ali moze cak i to! Trik je u tome sto su sekunde jedinice vremena po standardu...

Nije problem da te sekunde pretvoris u sta ti drago!
Ovaj deo je samo stvar prezentacije.

 
Odgovor na temu

[es] :: C/C++ programiranje :: razlika realnog vremena???

[ Pregleda: 3236 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.