Kaikki Flowcode asiantuntijoita?

E

E-suunnittelu

Guest
Olen makron, joka ei lajitella, joka byte numero binary converion kuten jäljempänä selitetään.Rutiininomaista toimii mutta vie paljon muistia.Olen käyttäen PIC16F685Object tämän rutiini on otettava byte väliltä 16 ja 240(11110000 ja 00010000) ja muuntaa numeron binary näyttö.Minun tarvitsee vain näyttö tilan jokin ylempi 4 bittiä (0001 ja 1111)Minun on myös näyttää nollaa: n hakemuksen.Tämä toiminto toimii, mutta pureskella paljon ROM, jota on, koskakelluvan kohta laskelmat voin käyttää.
Muuttuja "bin" on minun muunnetaan numero (ilman nollaa's)I lisätä nolla

n toisessa upotettuja JOS estää riippuen numeroalue.
Joten lisätä "0" tai "00" tai "000" ja sitten tulostaa "bin" arvo.Tämä on koko tämän makron kokoaa ja 4119 sanaa!Tämä makro yksin vie kaiken tämän muistiin, joten olen HAKUrutiininomainen tähän ottaen mahdollisimman vähän tilaa

as I need about 600 bytes for the main program.Oma tavoite on noin 3k max
minun tarvitsisi noin 600 tavua, että tärkein ohjelma.
Rakennus CASM tiedostoMuistinkäytön Raportti===================RAM saatavissa: 256 tavua, käytetään: 185 tavua (72,3%), vapaa: 71 tavua (27,7%),Keon koko: 71 tavua, Heap max yhden alloc: 70 bytesROM saatavissa: 4096 sanoen käytetään: 4119 sanat (100,5%), vapaa: -23 sanat (0.-5%)

.Liian paljon koodin sovi levyltä, ylitäytetty seuraavalla: 23 paikassa.Pidän koodi tämän makron wth kommentteja.Jos joku on ajatus siitä, miten tämä koodi voidaan optimoida tai toiseen rutiini Olen hyvin iloinen.En halua mennä isompi siru.

my strong point!

Ohjelmointi ei ole
minun vahva!

Pdf on minun vuokaavio tämän makron

Kiitos
Anteeksi, mutta sinun on kirjautumistunnuksen nähdäksesi tämän liitäntävaatimuksia

 
Taisin löytää paljon yksinkertaisempi menetelmä aion yrittää, mutta olen edelleen avoin ehdotuksille.

edit:

Näyttää siltä, että liukuvan pilkun calc oli ongelma.Onnistunut saamaan koko ohjelman mukaan lukien makron alas 1540 bytes joita ei käytä mitään liukuvan pilkun.
Vanha menetelmää käytetään perinteinen tapa div 2 ja tarkistaa jäljellä.Nyt vain vähentää käyttämällä int ja byte tyypin muuttujia.

 
Hi Friend

Tässä on asianmukainen Floating Point Math Kirjasto virtauksen koodi esimerkki sisältyy

terveisin
Fragrance
Anteeksi, mutta sinun on kirjautumistunnuksen nähdäksesi tämän liitäntävaatimuksia

 
Fragrance, kiitos.

Mutta näen, että tämä yksinkertainen liukuluku esimerkki annoitte edelleen käyttää 2888 sanoen kun koottu.Tämä selittää, miksi minun ensimmäinen yritys käyttää yli 5k

Rakennus CASM tiedosto
Muistinkäytön Raportti
===================
RAM saatavissa: 368 tavua, käytetään: 97 tavua (26,4%), vapaa: 271 tavua (73,6%),
Keon koko: 271 tavua, Heap max yhden alloc: 95 bytes(35.3%), free:5304 words (64.7%)

ROM saatavissa: 8192 sanoen käytetään: 2888 sanat
(35,3%), vapaa: 5304 sanat (64,7%)

 
Tässä on enemmän complecated esimerkki kelluvien matematiikka kanssa merkkijono

terveisin
Fragrance
Anteeksi, mutta sinun on kirjautumistunnuksen nähdäksesi tämän liitäntävaatimuksia

 
Nämä ovat mukavia rutiineja, mutta ne kaikki kuluttavat paljon ohjelman muistiin.Liian paljon on pieni siru kuten 16F677 kuten halusin käyttää.The String kelluaRakennus CASM tiedosto
Muistinkäytön Raportti
===================
RAM saatavissa: 368 tavua, käytetään: 126 tavua (34,3%), vapaa: 242 tavua (65,7%),
Keon koko: 242 tavua, Heap max yhden alloc: 95 bytes(53.8%), free:3788 words (46.2%)

ROM saatavissa: 8192 sanoen käytetään: 4404 sanat
(53,8%), vapaa: 3788 sanat (46,2%)Float on StringRakennus CASM tiedosto
Muistinkäytön Raportti
===================
RAM saatavissa: 368 tavua, käytetään: 126 tavua (34,3%), vapaa: 242 tavua (65,7%),
Keon koko: 242 tavua, Heap max yhden alloc: 95 bytes(81.1%), free:778 words (18.9%)

ROM saatavissa: 4096 sanoen käytetään: 3318 sanat
(81,1%), vapaa: 778 sanaa (18,9%)

 

Welcome to EDABoard.com

Sponsor

Back
Top