BojanR je napisal/a: |
Imam primer, ko se mi nek dogodek zgodi naključno v nekem času. Rad bi spremljal pogostnost tega pojava. Na primer kolikokrat se je pojavil v zadnji uri. Pri tem pa ne bi rad po preteku ure števec resetiral, ampak bi rad temu dogodku dal veljavnost eno uro. Tako bi imel vedno realno število v eni uri (FIFO)
Ali obstaja kakšen eleganten način, da to programsko rešim (Atmega8), saj je lahko v eni uri 5 ali pa 1000 dogodkov. Pri mojem razmišljanju se mi je zmerom močno zakompliciralo. |
Citiram: |
Nisem zasledil, če bi želel tudi meriti skupni čas trajanja dogodkov ali le te šteti. Prav tako nisem zasledi kak je minimalni čas trajanja dogodka. |
BojanR je napisal/a: |
Bi moral 3600 bitov vsako sekundo shiftat in v zadnjega vpisati dogodek, če se je zgodil.
Sem mislil, da mogoče obstaja kakšna preprosta in ne tako požrešna rešitev. Čeprav je par zelo zanimivih idej. Tista z meritvijo dolžine dogodka in pavze je zelo zanimiva, izvedljiva in požre najmanj spomina, če je dogodkov malo. Hvala vsem za nasvete, bom probal Maretovo idejo udejaniti, če ne bo šlo, bom pa sprejel še kakšen kompromis , pa za pomoč zaprosil. |
igo je napisal/a: |
Kakšno shiftanje neki?
Samo spremenljivke, ki kažejo na trenutno veljaven podatek se spreminja. Pomnilnik je itak krožen. Če je manj kot 2^n Byten, se pa spremenljivko vsakič primerja z nekim številom in po potrebi skoči na začetek. In čisto vseeno je, koliko biten je osnovni paket podatka (16, 18, 20, ...). Če so znani začeten naslov, dolžina paketa in število paketov, ima vsak bit natanko znan pomen. p.s.: Pisanje v Zbirniku precej olajša delo z 18, 20, ... bitnimi spremenljivkami, razen, če se jih da definirati tudi v višjih jezikih. p.p.s.: Tisti " nekako "zazipaš" " bi pravzaprav moral imeti poudarek na narekovajih od "nekako". Zip zna ASCII datoteko stlačiti na par % začetne velikosti. Ve kdo, kako njegove matematične algoritme izvesti z MCU? |